#include <stdio.h>
int w,h;
int C[50][50];

void dfs(i,j){
  int x,y,mx,my;
  C[i][j]=-1;
  for (y=-1;y<=1;y++)
    for (x=-1;x<=1;x++){
      mx=x+j;
      my=y+i;
      if (mx<0 || my<0 || mx>=w || my>=h)
        continue;
      if (C[my][mx]==1)
        dfs(my,mx);
    }
}

int main(){
  int i,j,cnt;
  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]);
    cnt=0;
    for (i=0;i<h;i++)
      for (j=0;j<w;j++)
        if (C[i][j]==1){
          dfs(i,j);
          cnt++;
        }
    printf("%d\n",cnt);
  }
  return 0;
}