rt
#include <bits/stdc++.h>
using namespace std;
int n,m,s[101][101],a[101][101],ans=-1e9;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
s[i][j]=s[i-1][j]+s[i][j-1]+a[i][j]-s[i-1][j-1];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
int maxk=min(n-i,n-j);
for(int k=0;k<=maxk;k++){
int x=i+k,y=j+k;
if((s[x][y]-s[i-1][y]-s[x][j-1]+s[i-1][j-1])==(maxk*maxk)){
ans=max(ans,maxk);
}
}
}
}
cout<<ans;
return 0;
}