#include<stdio.h>

void Island(int x,int y,int number);
void solve(int w,int h);

int map[52][52]={{0}};

int main(void){
  int w,h;
  while(scanf("%d%d",&w,&h) && w!=0 && h!=0){
    solve(w,h);
  }
  return 0;
}

void solve(int w,int h){
  int i,j;
  int x,y;
  int number=2;
  
  for(i=0;i<52;i++) for(j=0;j<52;j++) map[i][j]=0;
  
  for(i=1;i<=h;i++){
    for(j=1;j<=w;j++){
      scanf("%d",&map[i][j]);
    }
  }
  for(x=1;x<=h;x++){
    for(y=1;y<=w;y++){
      if(map[x][y]==1){
        Island(x,y,number);
        number++;
      }
    }
  }
  printf("%d\n",number-2);
  return 0;
}


void Island(int x,int y,int number){
  int i,j;
  map[x][y]=number;
  for(i=-1;i<=1;i++){
    for(j=-1;j<=1;j++){
      if(map[x+i][y+j]==1){
        Island(x+i,y+j,number);
      }
    }
  }
}

  