#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
template<typename T>
void minimize(T& a, const T& b) {
if (b < a) a = b;
}
int n;
int C[15][15];
int dp[1 << 15][15]; // dp[mask][i]: Chi phí rẻ nhất của đường đi đã đi qua các nước trong tập mask,
// mỗi đất nước đi qua đúng một lần và dừng chân tại đất nước i
int main() {
ios::sync_with_stdio(0); cin.tie(0);
cin >> n;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) cin >> C[i][j];
}
for (int mask = 0; mask < (1 << n); mask++) {
for (int i = 0; i < n; i++) dp[mask][i] = INF;
}
for (int i = 0; i < n; i++) dp[1 << i][i] = 0;
for (int mask = 0; mask < (1 << n); mask++) {
for (int i = 0; i < n; i++) {
if (dp[mask][i] == INF) continue;
for (int j = 0; j < n; j++) {
if (mask & (1 << j)) continue;
int new_mask = mask | (1 << j);
minimize(dp[new_mask][j], dp[mask][i] + C[i][j]);
}
}
}
int ans = INF;
for (int i = 0; i < n; i++) {
minimize(ans, dp[(1 << n) - 1][i]);
}
cout << ans << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAp1c2luZyBuYW1lc3BhY2Ugc3RkOyAgCgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsgIAp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IGlpOyAgCgpjb25zdCBpbnQgSU5GID0gMWU5OyAgCmNvbnN0IGxsIExJTkYgPSAxZTE4OyAgCgp0ZW1wbGF0ZTx0eXBlbmFtZSBUPgp2b2lkIG1pbmltaXplKFQmIGEsIGNvbnN0IFQmIGIpIHsKCWlmIChiIDwgYSkgYSA9IGI7IAp9CgppbnQgbjsgIAppbnQgQ1sxNV1bMTVdOyAgCmludCBkcFsxIDw8IDE1XVsxNV07IC8vIGRwW21hc2tdW2ldOiBDaGkgcGjDrSBy4bq7IG5o4bqldCBj4bunYSDEkcaw4budbmcgxJFpIMSRw6MgxJFpIHF1YSBjw6FjIG7GsOG7m2MgdHJvbmcgdOG6rXAgbWFzaywKCQkJCQkgLy8gbeG7l2kgxJHhuqV0IG7GsOG7m2MgxJFpIHF1YSDEkcO6bmcgbeG7mXQgbOG6p24gdsOgIGThu6tuZyBjaMOibiB04bqhaSDEkeG6pXQgbsaw4bubYyBpCgppbnQgbWFpbigpIHsKCWlvczo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyAgCQoJY2luID4+IG47IAoJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKCQlmb3IgKGludCBqID0gMDsgaiA8IG47IGorKykgY2luID4+IENbaV1bal07IAoJfQoKCWZvciAoaW50IG1hc2sgPSAwOyBtYXNrIDwgKDEgPDwgbik7IG1hc2srKykgewoJCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSBkcFttYXNrXVtpXSA9IElORjsgCgl9CgoJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIGRwWzEgPDwgaV1baV0gPSAwOyAKCglmb3IgKGludCBtYXNrID0gMDsgbWFzayA8ICgxIDw8IG4pOyBtYXNrKyspIHsKCQlmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewoJCQlpZiAoZHBbbWFza11baV0gPT0gSU5GKSBjb250aW51ZTsgIAoKCQkJZm9yIChpbnQgaiA9IDA7IGogPCBuOyBqKyspIHsKCQkJCWlmIChtYXNrICYgKDEgPDwgaikpIGNvbnRpbnVlOyAKCQkJCWludCBuZXdfbWFzayA9IG1hc2sgfCAoMSA8PCBqKTsgCgkJCQltaW5pbWl6ZShkcFtuZXdfbWFza11bal0sIGRwW21hc2tdW2ldICsgQ1tpXVtqXSk7IAoJCQl9CgkJfQoJfQoKCWludCBhbnMgPSBJTkY7IAoJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKCQltaW5pbWl6ZShhbnMsIGRwWygxIDw8IG4pIC0gMV1baV0pOyAKCX0KCgljb3V0IDw8IGFucyA8PCAnXG4nOwp9