#include<stdio.h>

int island[50][50];

void dfs(int y,int x){
  int i,j,nx,ny;
  island[y][x]=0;

  for(i=-1;i<2;i++){
    for(j=-1;j<2;j++){
      if(i==0 && j==0)
	continue;
      ny=y+i;
      nx=x+j;
      if(island[ny][nx]!=1)
	continue;
      dfs(ny,nx);
    }
  }
  
}

int main(){
  int W,H,ans=0;
  int i,j;
  
  while(scanf("%d %d",&W,&H),H+W!=0){

    for(i=0;i<H;i++){
      for(j=0;j<W;j++){
	scanf("%d",&island[i][j]);
      }
    }

    for(i=0;i<H;i++){
      for(j=0;j<W;j++){
	if(island[i][j]==0)
	  continue;
	ans++;
	dfs(i,j);
      }
    }

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