#include<bits/stdc++.h>
using namespace std;
#define endl "\n"
const int N=1e6+10;
int a[N],l,r;
bool t[N];
int n,m,cnt=0,d,e;
const int o=0X3F3F3F3F;
int dis[22][22];
bool flag=false;
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL),cout.tie(NULL);
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>dis[i][j];
}
}
vector<int>lib;
for(int i=2;i<n;i++)
{
lib.push_back(i);
}
int ans=o;
do
{
int temp=0;
temp+=dis[1][lib.front()];
for(int i=0;i+1<lib.size();i++)
{
int u=lib[i],v=lib[i+1];
temp+=dis[u][v];
}
temp+=dis[lib.back()][n];
ans=min(ans,temp);
}while(next_permutation(lib.begin(),lib.end()));
cout<<ans;
return 0;
}