#include<cstdio>
#include<algorithm>
#include<cmath>
#define N 35
using namespace std;
int n,m,T,dx[4]={0,1,0,-1},dy[4]={1,0,-1,0},vis[N][N];
double ans;
char a[N][N];
bool isg(int x,int y,int ex,int ey){
if(x==ex&&y==ey)return 1;
bool ans=0;
vis[x][y]=1;
for(int i=0;i<4;i++){
int xx=x+dx[i],yy=y+dy[i];
if(a[xx][yy]=='1'||vis[xx][yy]==1||xx>=n||xx<0||yy>=m||yy<0)continue;
ans=max(ans,isg(xx,yy,ex,ey));
if(ans){
vis[x][y]=0;
return ans;
}
}
vis[x][y]=0;
return ans;
}
int main(){
scanf("%d%d%d",&n,&m,&T);
for(int i=0;i<n;i++)scanf("%s",a[i]);
if(T==0){
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
for(int k=i+1;k<n;k++){
for(int t=j+1;t<m;t++){
if(j==t||i==k)continue;
if(a[i][j]=='0'&&a[k][t]=='0'&&isg(i,j,k,t)){
ans=max(ans,sqrt((i-k)*(i-k)+(j-t)*(j-t)));
}
}
}
}
}
}
else ans=2.828427;
printf("%.6lf",ans);
return 0;
}