#include<iostream>
using namespace std;
int n,m,ans;
int a[101][101];
bool b[101][101];
void dfs(int x,int y)
{
if(!b[x][y]&&a[x][y]){
ans++;
b[x][y]=false;
if(b[x][y+1]&&b[x][y-1]&&b[x+1][y]&&b[x-1][y]){
if(a[x][y+1]==a[x][y]&&a[x][y-1]==a[x][y]&&a[x+1][y]==a[x][y]&&a[x-1][y]==a[x][y]){
b[x][y+1]==false,b[x][y-1]==false,b[x+1][y]==false,b[x-1][y]==false;
}
}
}
if(x!=n-1&&!b[x+1][y]&&a[x+1][y])
dfs(x+1,y);
if(y!=m-1&&!b[x][y+1]&&a[x][y+1])
dfs(x,y+1);
if(x==m-1&&y==m-1)return;
}
int main()
{
cin>>n>>m;
for(int i=0; i<n; i++) {
for(int j=0; j<m; j++) {
cin>>a[i][j];
if(a[i][j]==0)b[i][j]=false;
}
}
dfs(0,0);
cout<<ans;
return 0;
}
rt,玄关:(