#include #include using namespace std; int dx[]={-1,0,0,1}; int dy[]={0,-1,1,0}; int n,m,i,j,nx,ny,k,cnt,g[505][505],x,y,sol; char a[505][505]; bool viz[505][505]; deque > q; int main() { //freopen("test.in","r",stdin); //freopen("test.out","w",stdout); scanf("%d%d",&n,&m); for(i=1;i<=n;i++) scanf("%s",a[i]+1); for(i=1;i<=n;i++) for(j=1;j<=m;j++) if(a[i][j]=='1') { for(k=0;k<4;k++) { nx=i+dx[k]; ny=j+dy[k]; if(a[nx][ny]=='1') g[i][j]++; } if(g[i][j]<=1) q.push_back(make_pair(i,j)); } while(!q.empty()) { i=q.front().first; j=q.front().second; q.pop_front(); g[i][j]=0; for(k=0;k<4;k++) { nx=i+dx[k]; ny=j+dy[k]; if(a[nx][ny]=='1' && !viz[nx][ny]) { g[nx][ny]--; if(g[nx][ny]<=1) { viz[nx][ny]=1; q.push_back(make_pair(nx,ny)); } } } } for(i=1;i<=n;i++) for(j=1;j<=m;j++) if(g[i][j]>=2) sol++; printf("%d\n",sol); return 0; }