#include <stdio.h>

int width,height;
int map[50][50];

void visit(int x,int y) {
	int i,j;
	if(x<0 || x>=width || y<0 || y>=height)return;
	if(map[y][x]==0)return;
	map[y][x]=0;
	for(i=-1;i<=1;i++) {
		for(j=-1;j<=1;j++)visit(x+i,y+j);
	}
}

int main(void) {
	int i,j;
	int result;
	while(1) {
		scanf("%d%d",&width,&height);
		if(width==0 && height==0)break;
		for(i=0;i<height;i++) {
			for(j=0;j<width;j++)scanf("%d",&map[i][j]);
		}
		result=0;
		for(i=0;i<height;i++) {
			for(j=0;j<width;j++) {
				if(map[i][j]) {
					result++;
					visit(j,i);
				}
			}
		}
		printf("%d\n",result);
	}
	return 0;
}