#include<stdio.h>
int N[50][50];

void visit(int i,int j,int w,int h){
  N[i][j]=0;

  if(N[i][j+1]==1 && j+1<w) visit(i,j+1,w,h);
  if(N[i+1][j+1]==1 && i+1<h  && j+1<w) visit(i+1,j+1,w,h);
  if(N[i+1][j]==1 && i+1<h) visit(i+1,j,w,h);
  if(N[i+1][j-1]==1 && i+1<h  && 0<=j-1 ) visit(i+1,j-1,w,h);
  if(N[i][j-1]==1 && 0<=j-1) visit(i,j-1,w,h);
  if(N[i-1][j-1]==1 && 0<=i-1  && 0<=j-1) visit(i-1,j-1,w,h);
  if(N[i-1][j]==1 && 0<=i-1) visit(i-1,j,w,h);
  if(N[i-1][j+1]==1 && 0<=i-1 && j+1<w) visit(i-1,j+1,w,h);
  
  
}

int main(){
  int count,w,h,i,j;


  while(1){
    
    count=0;
    
    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",&N[i][j]);
	  }
      }
    
    /*ツ暗按湘」ツづ債地ツ図ツづ可海ツづ「ツ督づ個値ツづーツ妥」ツ禿シツつオツづつ「ツつュ*/

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