#include <stdio.h>

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

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 r;
  int ni, nj;

  G[i][j]=0;

  for( r=0; r<8; r++){
    ni = i+di[r];
    nj = j+dj[r];

  if(-1<ni && ni<h && -1<nj && nj<w && G[ni][nj]==1)
    visit(ni, nj);
  }
}

main(void){
  
  int count=0;
  int i, j;

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

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

    for(i=0;i<h;i++){
      for(j=0;j<w;j++){
        if(G[i][j]==1){
          count++;
          visit(i, j);
        }
      }
    }
    printf("%d\n", count);
    count=0;
  }
  return 0;
}