#include<bits/stdc++.h>
using namespace std;
int c = 0,cost = 999999;
int graph[21][21];
void swap (int *x, int *y){
int temp;
temp = *x;
*x = *y;
*y = temp;
}
void copy_array(int *a, int n){
int i, sum = 0;
for(i = 0; i <= n; i++) sum += graph[a[i % 4]][a[(i + 1) % 4]];
if (cost > sum) cost = sum;
}
void permute(int *a, int i, int n)
{
int j, k;
if (i == n) copy_array(a, n);
else{
for (j = i; j <= n; j++){
swap((a + i), (a + j));
permute(a, i + 1, n);
swap((a + i), (a + j));
}
}
}
int main(){
int n;
int a[n+5];
cin>>n;
for(int i=0;i<n;++i){
a[i]=i;
for(int j=0;j<n;++j) cin>>graph[i][j];
}
permute(a,0,n-1);
cout<<cost;
//getch();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGMgPSAwLGNvc3QgPSA5OTk5OTk7CmludCBncmFwaFsyMV1bMjFdOwp2b2lkIHN3YXAgKGludCAqeCwgaW50ICp5KXsKICAgIGludCB0ZW1wOwogICAgdGVtcCA9ICp4OwogICAgKnggPSAqeTsKICAgICp5ID0gdGVtcDsKfQp2b2lkIGNvcHlfYXJyYXkoaW50ICphLCBpbnQgbil7CiAgICBpbnQgaSwgc3VtID0gMDsKICAgIGZvcihpID0gMDsgaSA8PSBuOyBpKyspIHN1bSArPSBncmFwaFthW2kgJSA0XV1bYVsoaSArIDEpICUgNF1dOwogICAgaWYgKGNvc3QgPiBzdW0pIGNvc3QgPSBzdW07Cn0gIAp2b2lkIHBlcm11dGUoaW50ICphLCBpbnQgaSwgaW50IG4pIAp7CiAgIGludCBqLCBrOyAKICAgaWYgKGkgPT0gbikgY29weV9hcnJheShhLCBuKTsKICAgZWxzZXsKICAgICAgICBmb3IgKGogPSBpOyBqIDw9IG47IGorKyl7CiAgICAgICAgICAgIHN3YXAoKGEgKyBpKSwgKGEgKyBqKSk7CiAgICAgICAgICAgIHBlcm11dGUoYSwgaSArIDEsIG4pOwogICAgICAgICAgICBzd2FwKChhICsgaSksIChhICsgaikpOwogICAgICAgIH0KICAgIH0KfSAKaW50IG1haW4oKXsKCWludCBuOwoJaW50IGFbbis1XTsKCWNpbj4+bjsKCWZvcihpbnQgaT0wO2k8bjsrK2kpewoJCWFbaV09aTsKCQlmb3IoaW50IGo9MDtqPG47KytqKSBjaW4+PmdyYXBoW2ldW2pdOwogICAJfQogICAKICAgcGVybXV0ZShhLDAsbi0xKTsKICAgY291dDw8Y29zdDsKICAgLy9nZXRjaCgpOwp9