#include <stdio.h>
#include <memory.h>

int map[52][52];
int sum;

int snake(int x,int y){
    if(map[y][x] == 0)
        return 0;
    map[y][x]=0;
    return snake(x+1,y)+snake(x,y-1)+snake(x-1,y)+snake(x,y+1)+snake(x+1,y+1)+snake(x+1,y-1)+snake(x-1,y-1)+snake(x-1,y+1)+1;
}

int main(void){
    int w,h,sum1,i,o;
    for(;scanf("%d %d",&w,&h),h;){
        sum1=0;
        sum=0;
        memset(map,0,sizeof(map));
        for(i=1;i<=h;i++){
            for(o=1;o<=w;o++){
                scanf("%d",&map[i][o]);;
            }
        }
        for(i=1;i<=h;i++){
            for(o=1;o<=w;o++){
                if(map[i][o] == 1){
                    sum++;
                    snake(o,i);
                }
            }
        }
        printf("%d\n",sum);
    }
    return 0;
}