//ツ環ョツ青ャ
#include<stdio.h>
int map[51][51];
int w,h;
void search(int _h,int _w){
	if(_h<0||_w<0||_h>h||_w>w||map[_h][_w]==0)return;
	int i,j;
	map[_h][_w]=0;
	search(_h-1,_w);
	search(_h-1,_w+1);
	search(_h,_w+1);
	search(_h+1,_w+1);
	search(_h+1,_w);
	search(_h+1,_w-1);
	search(_h,_w-1);
	search(_h-1,_w-1);
}int main(){
	int i,j,c;
	while(1){
		c=0;
		scanf("%d %d",&w,&h);
		if(!w && !h)break;
		for(i=0;i<h;i++){
			for(j=0;j<w;j++)scanf("%d",&map[i][j]);
		}
		for(i=0;i<h;i++){
			for(j=0;j<w;j++){
				if(map[i][j]==1){
					search(i,j);
					c++;
				}
			}
		}
		printf("%d\n",c);
	}
	return 0;
}