#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
int b[10002][10002];
void ling(int,int,int,int);
int main()
{
int m,n;
scanf("%d %d",&n,&m);
int a[n+2][m+2];
for(int i=0,j=0;i<=n+1;j++)
{
a[i][j]=0;
b[i][j]=-1;
if(j==m+1)
{
i++;
j=-1;
}
}
for(int i=1,j=1;i<=n;j++)
{
scanf("%d",&a[i][j]);
if(j==m)
{
i++;
j=0;
}
}
for(int i=1,j=1;i<=n;j++)
{
b[i][j]=a[i-1][j-1]+a[i-1][j]+a[i-1][j+1]+a[i][j-1]+a[i][j+1]+a[i+1][j-1]+a[i+1][j]+a[i+1][j+1];
if(a[i][j]==1)
{
b[i][j]=9;
}
if(j==m)
{
i++;
j=0;
}
}
for(int i=1,j=1;i<=n;j++)
{
if(b[i][j]==0)
{
if(b[i-1][j-1]!=0)
{
b[i-1][j-1]=-1;
}
if(b[i-1][j]!=0)
{
b[i-1][j]=-1;
}
if(b[i-1][j+1]!=0)
{
b[i-1][j+1]=-1;
}
if(b[i][j-1]!=0)
{
b[i][j-1]=-1;
}
if(b[i][j+1]!=0)
{
b[i][j+1]=-1;
}
if(b[i+1][j-1]!=0)
{
b[i+1][j-1]=-1;
}
if(b[i+1][j]!=0)
{
b[i+1][j]=-1;
}
if(b[i+1][j+1]!=0)
{
b[i+1][j+1]=-1;
}
}
if(j==m)
{
i++;
j=0;
}
}
int sum=0;
for(int i=1,j=1;i<=n;j++)
{
if(b[i][j]>=1&&b[i][j]<=8)
{
sum++;
}
if(b[i][j]==0)
{
sum++;
ling(n,m,i,j);
}
if(j==m)
{
i++;
j=0;
}
}
printf("%d",sum);
return 0;
}
void ling(int n,int m,int i,int j)
{
b[i][j]=-1;
if(b[i-1][j-1]==0)
{
ling(n,m,i-1,j-1);
}
if(b[i-1][j]==0)
{
ling(n,m,i-1,j);
}
if(b[i-1][j+1]==0)
{
ling(n,m,i-1,j-1);
}
if(b[i][j-1]==0)
{
ling(n,m,i,j-1);
}
if(b[i][j+1]==0)
{
ling(n,m,i,j+1);
}
if(b[i+1][j-1]==0)
{
ling(n,m,i+1,j-1);
}
if(b[i+1][j]==0)
{
ling(n,m,i+1,j);
}
if(b[i+1][j+1]==0)
{
ling(n,m,i+1,j+1);
}
}