#include<stdio.h>
#include<stdlib.h>


void Search(int **map, int pos_x, int pos_y, int h, int w) {
	int i,j;
	int temp_x,temp_y;

	map[pos_y][pos_x]=0;

	for(i=1;i<=3;i++) {
		for(j=1;j<=3;j++) {
			temp_x=pos_x+i-2;
			temp_y=pos_y+j-2;
			if(temp_x>=0&&temp_y>=0&&temp_x<w&&temp_y<h&&map[temp_y][temp_x]==1)
				Search(map,temp_x,temp_y,h,w);
		}
	}
}

int main() {

	int w,h;
	int i,j,**map,count;
	int pos_x,pos_y;

	for(;;) {
		scanf("%d %d",&w,&h);
		if(!w&&!h) break;

		map=malloc(h*sizeof(int));
		for(i=0;i<h;i++) {
			map[i]=(int *)malloc(w*sizeof(int));
		}

		for(i=0;i<h;i++)
			for(j=0;j<w;j++)
				

		count=0;
		for(pos_x=0;pos_x<w;pos_x++) {
			for(pos_y=0;pos_y<h;pos_y++) {
				if(map[pos_y][pos_x]==1) {
					count++;
					Search(map,pos_x,pos_y,h,w);
				}
			}
		}
		printf("%d\n",count);
		free(map);
	}
		return 0;
	}