#include <stdio.h>

#define S 0
#define L 1
#define F 2

int w, h;
int map[50][50];

void dfs(int, int);

int main(){
    int i, j, num_of_land;

    while(1){
        scanf("%d%d", &w, &h);
        if(w == 0 && h == 0){
            break;
        }

        for(i=0;i<h;i++){
            for(j=0;j<w;j++){
                scanf("%d", &map[i][j]);
            }
        }

        num_of_land = 0;
        for(i=0;i<h;i++){
            for(j=0;j<w;j++){
                if(map[i][j] == L){
                    num_of_land++;
                    dfs(i, j);
                }
            }
        }

        printf("%d\n", num_of_land);

    }

    return 0;
}

void dfs(int y, int x){
    if(map[y][x] == L && x >= 0 && y >= 0 && y < h && x < w){
        map[y][x] = F;
        dfs(y-1, x-1);
        dfs(y, x-1);
        dfs(y+1, x-1);
        dfs(y-1, x);
        dfs(y+1, x);
        dfs(y-1, x+1);
        dfs(y, x+1);
        dfs(y+1, x+1);
    }
}