/*
#include<stdio.h>
int n,m,cnt=0;
int map[101][101]={};
int e[100]={};
void dfs(int i,int j)
{
if(i<0 || j<0 || i>m || j>n || map[i][j]!=0) return ;
e[cnt]++;
map[i][j]=1;
dfs(i,j+1);
dfs(i,j-1);
dfs(i+1,j);
dfs(i-1,j);
}
int main()
{
int p,k,i,j,a,b,c,d,t,min;
scanf("%d %d %d",&m,&n,&k);
for(p=0;p<k;p++)
{
scanf("%d %d %d %d",&a,&b,&c,&d);
for(i=b;i<d;i++)
{
for(j=a;j<c;j++)
{
map[i][j]=1;
}
}
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(map[i][j]==0)
{
cnt++;
dfs(i,j);
}
}
}
printf("%d\n",cnt);
for(i=1;i<cnt;i++)
{
min=i;
for(j=i+1;j<=cnt;j++)
{
if(e[j]<e[min])
{
min=j;
}
}
t=e[i];
e[i]=e[min];
e[min]=t;
}
for(i=1;i<=cnt;i++)
{
printf("%d ",e[i]);
}
return 0;
}
*/
#include<stdio.h>
int n,m,cnt=0;cnt2=0;
int map[100][100]={};
void dfs(int i,int j)
{
dfs(i,j+1);
dfs(i,j-1);
dfs(i+1,j);
dfs(i-1,j);
}
int main()
{
int i,j;
scanf("%d %d",&m,&n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d ",map[i][j]);
}
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(map[i][j]==1)
{
dfs(i,j);
}
}
}
return 0;
}