#include <stdio.h>

int w,h;
int map[50][50];

void rec(int x, int y){
	int i,j;
	map[x][y]=0;
	for(i=-1;i<2;i++){
		for(j=-1;j<2;j++){
			if(x+i>=0&&x+i<h&&y+j>=0&&y+j<w){
				if(map[x+i][y+j]){
					rec(x+i, y+j);
				}
			}
		}
	}
	return;
}

int main(void){
	int i,j,count;
	while(scanf("%d %d",&w,&h),w||h){
		for(i=0;i<h;i++){
			for(j=0;j<w;j++){
				scanf("%d",&map[i][j]);
			}
		}
		count=0;
		for(i=0;i<h;i++){
			for(j=0;j<w;j++){
				if(map[i][j]){
					count++;
					rec(i,j);
				}
			}
		}
		printf("%d\n",count);
	}
	return 0;
}