#include<bits/stdc++.h>
using namespace std;
const int N=120;
int s[N][N];
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
cin>>s[i][j];
}
}
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
s[i][j]+=s[i-1][j]+s[i][j-1]-s[i-1][j-1];
}
}
int k=min(n,m);
while(k>=2)
{
for(int i=k;i<=n;++i)
{
for(int j=k;j<=m;++j)
{
int res=s[i][j]-s[i-k][j]-s[i][j-k]+s[i-k][j-k];
if(res==k*k)
{
cout<<k;
return 0;
}
}
}
k--;
}
return 0;
}