#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 16,M=9;
const double INF = 1e9;
int n;
double X;
int s[M][M];
double dp[M][M][M][M][N];
double get(int x1,int y1,int x2,int y2)
{
double sum = s[x2][y2]-s[x1-1][y2]-s[x2][y1-1]+s[x1-1][y1-1];
sum-=X;
return sum*sum/n;
}
double find(int x1,int y1, int x2 ,int y2, int k)
{
double &v = dp[x1][y1][x2][y2][k];
if(v>=0) return v;
if(k==1) return v = get(x1,y1,x2,y2);
v=INF;
for(int i = x1 ; i < x2 ; i ++)
{
v = min(v,get(x1,y1,i,y2)+find(i+1,y1,x2,y2,k-1));
v = min(v,get(i+1,y1,x2,y2)+find(x1,y1,i,y2,k-1));
}
for(int i = y1 ; i < y2 ; i ++)
{
v = min(v,get(x1,y1,x2,i)+find(x1,i+1,x2,y2,k-1));
v = min(v,get(x1,i+1,x2,y2)+find(x1,y1,x2,i,k-1));
}
return v;
}
int main()
{
cin>>n;
for(int i = 1 ; i < 9 ; i ++)
for(int j = 1 ; j < 9 ; j ++)
{
cin>>s[i][j];
s[i][j]+=s[i-1][j]+s[i][j-1]-s[i-1][j-1];
}
X = (double)s[8][8]/n;
memset(dp,-1,sizeof dp);
printf("%.3lf\n",sqrt(find(1,1,8,8,n)));
return 0;
}