#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const ll LINF = 1e18;
const int INF = 1e9;
int n;
int h[20], s[20];
int w[20][20];
ll best;
void backtrack(int i) {
if (i == n) {
ll ans = 0;
for (int j = 0; j < n; j++) {
ans += h[j] * s[j];
for (int k = j + 1; k < n; k++) {
ans += w[j][k] * s[j] * s[k];
}
}
best = min(best, ans);
return;
}
s[i] = 1;
backtrack(i + 1);
s[i] = -1;
backtrack(i + 1);
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
for (int i = 0; i < n; i++) cin >> h[i];
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) cin >> w[i][j];
}
best = LINF;
backtrack(0);
cout << best << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOyAKCnR5cGVkZWYgbG9uZyBsb25nIGxsOyAKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsgCgpjb25zdCBsbCBMSU5GID0gMWUxODsgCmNvbnN0IGludCBJTkYgPSAxZTk7CgppbnQgbjsgCmludCBoWzIwXSwgc1syMF07IAppbnQgd1syMF1bMjBdOyAKbGwgYmVzdDsgCgp2b2lkIGJhY2t0cmFjayhpbnQgaSkgewoJaWYgKGkgPT0gbikgewoJCWxsIGFucyA9IDA7IAoJCWZvciAoaW50IGogPSAwOyBqIDwgbjsgaisrKSB7CgkJCWFucyArPSBoW2pdICogc1tqXTsgCgkJCWZvciAoaW50IGsgPSBqICsgMTsgayA8IG47IGsrKykgewoJCQkJYW5zICs9IHdbal1ba10gKiBzW2pdICogc1trXTsgCgkJCX0KCQl9CgkJYmVzdCA9IG1pbihiZXN0LCBhbnMpOyAKCQlyZXR1cm47Cgl9CgoJc1tpXSA9IDE7ICAgCgliYWNrdHJhY2soaSArIDEpOyAKCglzW2ldID0gLTE7IAoJYmFja3RyYWNrKGkgKyAxKTsgCn0KCmludCBtYWluKCkgewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyAKCWNpbi50aWUobnVsbHB0cik7IAoJY2luID4+IG47IAoKCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSBjaW4gPj4gaFtpXTsgCgkJCglmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewoJCWZvciAoaW50IGogPSBpICsgMTsgaiA8IG47IGorKykgY2luID4+IHdbaV1bal07IAoJfQoJCgliZXN0ID0gTElORjsgCgliYWNrdHJhY2soMCk7CgoJY291dCA8PCBiZXN0IDw8ICdcbic7Cn0K