#include<cstdio>
int n,m;
int ans[505][505];
char a[505][505];
int b1[4]={1,0,-1,0};
int b2[4]={0,1,0,-1};
void dfs(int x,int y){
for(int i=0;i<4;i++){
int xx=x+b1[i],yy=y+b2[i];
if(xx>=1&&xx<=n&&yy>=1&&yy<=m&&a[xx][yy]=='0'&&ans[xx][yy]==0){
a[xx][yy]='*';
ans[xx][yy]=1;
dfs(xx,yy);
}
}
}
int main()
{
//freopen("P1506_1.in","r",stdin);
scanf("%d %d\n",&n,&m);
char b;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
scanf("%c",&a[i][j]);
}
scanf("%c",&b);
}
for(int i=1;i<=n;i++){
if(a[i][1]=='0'){
a[i][1]='*';
dfs(i,1);
}
}
for(int i=1;i<=m;i++){
if(a[1][i]=='0'){
a[1][i]='*';
dfs(1,i);
}
}
for(int i=1;i<=n;i++){
if(a[i][m]=='0'){
a[i][m]='*';
dfs(i,m);
}
}
for(int i=1;i<=m;i++){
if(a[n][i]=='0'){
a[n][i]='*';
dfs(n,i);
}
}
int ans=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]=='0'){
ans++;
}
}
}
printf("%d",ans);
}