#include<iostream>
#include<string>
#include <vector>
using namespace std;
int main() {
int m;
int n;
while(cin>>m)
{
string row;
vector<string> matrix;
int maximalSquare=0;
for(int i=0;i<m;i++)
{
cin>>row;
matrix.push_back(row);
if(i==0)
{
n=row.size();
}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
int l=min(m-i,n-j);
for(int s=1;s<=l;s++)
{
bool full=true;
for(int p=0;p<s;p++)
{
for (int q=0;q<s;q++)
{
if(matrix[i+p][j+q]=='0')
{
full=false;
break;
};
}
}
if(full)
{
if(s>maximalSquare)
maximalSquare=s;
}
}
}
}
cout<<maximalSquare*maximalSquare<<endl;
}
return 0;
}