#include<bits/stdc++.h>
using namespace std;
int a[1001][1001];
char c;
int dx[]={0,1,0,-1};
int dy[]={1,0,-1,0};
int x,y;
void dfs(int aa,int bb){
if(aa<0||aa>x+1||bb<0||bb>y+1||a[aa][bb])return;
a[aa][bb]=2;
for(int i=0;i<4;i++)dfs(aa+dx[i],bb+dy[i]);
}
int main(){
cin>>x>>y;
for(int i=1;i<=x;i++)for(int j=1;j<=y;j++){
cin>>c;
if(c=='0')a[i][j]=0;
else a[i][j]=1;
}
dfs(0,0);
int ans=0;
for(int i=1;i<=x;i++)for(int j=1;j<=y;j++){
if(!a[i][j])ans++;
}
cout<<ans<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
char a[1001][1001];
int dx[]={0,1,0,-1};
int dy[]={1,0,-1,0};
int x,y;
void dfs(int aa,int bb){
if(aa<0||aa>x+1||bb<0||bb>y+1||a[aa][bb]!=0)return;
a[aa][bb]='g';
for(int i=0;i<4;i++)dfs(aa+dx[i],bb+dy[i]);
}
int main(){
cin>>x>>y;
for(int i=1;i<=x;i++)for(int j=1;j<=y;j++)cin>>a[i][j];
dfs(0,0);
int ans=0;
for(int i=1;i<=x;i++)for(int j=1;j<=y;j++){
if(a[i][j]=='0')ans++;
}
cout<<ans<<endl;
return 0;
}