#include <stdio.h>

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

void visit(int i, int j) {
  int di[8] = {0, -1, -1, -1, 0, 1, 1, 1};
  int dj[8] = {1, 1, 0, -1, -1, -1, 0, 1};
  int ni, nj, r;

  c[i][j] = 0;
  for(r = 0; r < 8; r++) {
    ni = i + di[r];
    nj = j + dj[r];
    if(ni >=0 && ni < h && nj >= 0 && nj < w && c[ni][nj] == 1)
      visit(ni, nj);
  }
}

int main() {
  int i, j, count;
  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", &c[i][j]);
      }
    }

    count = 0;
    for(i = 0; i < h; i++) {
      for(j = 0; j < w; j++) {
	if(c[i][j] == 1) {
	  count++;
	  visit(i, j);
	}
      }
    }

    printf("%d\n", count);
  }
  return 0;
}