#include <bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(false),cin.tie(nullptr)
//#define int long long
const int N=505;
vector<string> a(N);
int vis[N][N];
int n,m;
int dfs(int i,int j)
{
vis[i][j]=1;
int k=0;
vector<pair<int,int>> q={{i+1,j},{i-1,j},{i,j+1},{i,j-1}};
for(auto it:q)
{
if(it.first>0&&it.second>0&&it.first<=n&&it.second<=m)
{
if(!vis[it.first][it.second]&&a[it.first][it.second]=='1')
k+=dfs(it.first,it.second);
if(a[it.first][it.second]=='0'&&!vis[it.first][it.second])
k++,vis[it.first][it.second]=1;
}
}
return k;
}
void solve()
{
memset(vis,0,sizeof(vis));
int ans=0x3f3f3f3f;
string l;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>l;
a[i]='#'+l;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
if(a[i][j]=='1'&&!vis[i][j])
ans=min(ans,(dfs(i,j)));
cout<<ans;
}
signed main() {
IOS;
int t=1;
//cin>>t;
while(t--)
{
solve();
}
}