#include<stdio.h>
void search(int c[50][50],int y,int x,int h,int w) {
	c[y][x] = 0;
	if (y + 1 < h) {
		if(c[y+1][x])search(c, y + 1, x, h, w);
		if (x + 1 < w&&c[y+1][x + 1]) search(c, y+1, x + 1, h, w);
		if (x - 1 >= 0 && c[y+1][x - 1]) search(c, y+1, x - 1, h, w);
	}
	if (y - 1 >= 0) {
		if (c[y - 1][x])search(c, y - 1, x, h, w);
		if (x + 1 < w&&c[y - 1][x + 1]) search(c, y-1, x + 1, h, w);
		if (x - 1 >= 0 && c[y - 1][x - 1]) search(c, y-1, x - 1, h, w);
	}
	if (x + 1 < w&&c[y][x+1]) search(c, y, x+1, h, w);
	if (x - 1 >= 0&&c[y][x-1]) search(c, y, x-1, h, w);
}
int main() {
	while (1) {
		int w,h,c[50][50],n=0;
		scanf("%d %d",&w,&h);
		if (!w && !h) {
			break;
		}
		for (int i = 0; i < h; i++) {
			for (int j = 0; j < w; j++) {
				scanf("%d",&c[i][j]);
			}
		}
		for (int i = 0; i < h; i++) {
			for (int j = 0; j < w; j++) {
				if (c[i][j]) {
					search(c,i,j,h,w);
					n++;
				}
			}
		}
		printf("%d\n",n);
	}
	return 0;
}
