#include <stdio.h>

int c[64][64];

int dfs(int y, int x)
{
    int i, j;

    if (!c[y][x]) return;
    c[y][x] = 0;
    for (i = -1; i < 2; i++){
        for (j = -1; j < 2; j++){
            dfs(y + i, x + j);
        }
    }
}

int main(void)
{
    int w, h;
    int i, j;
    int cnt = 0;

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

        for (i = 1; i <= h; i++){
            for (j = 1; j <= w; j++){
                if (c[i][j]){
                    cnt++;
                    dfs(i, j);
                }
            }
        }

        printf("%d\n", cnt);
    }

    return 0;
}