#include<bits/stdc++.h>
using namespace std;
int cit[233][233],f[23][1<<17],v[23][23];
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
int n;
cin>>n;
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
cin>>cit[i][j];
}
}
for(int k=0;k<=n;k++){
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
if(i!=j&&j!=k&&i!=k){
cit[i][j]=min(cit[i][j],cit[i][k]+cit[k][j]);
}
}
}
}
int cust=(1<<(n+1))-1;
for(int s=0;s<(1<<(n+2));s++)
for(int i=0;i<n+2;i++)
f[i][s]=0x7f7f7f7f;
for(int i=0;i<n;i++){
f[i][0]=cit[0][i];
}
for(int k=0;k<=cust;k++){
for(int i=0;i<=n;i++){
if(k&(1<<i)){
continue;
}
for(int j=0;j<=n;j++){
if(k&(1<<j)){
f[i][k]=min(f[i][k],f[j][(1<<j)^k]+cit[j][i]);
}
}
}
}
cout<<f[0][cust^1]<<endl;
return 0;
}