#include #define rep(i,n)for(int i=0;i<(n);i++) using namespace std; int dp[1 << 24]; int a[24][24]; int main() { int n; scanf("%d", &n); rep(i, n)rep(j, n)scanf("%d", &a[i][j]); rep(i, 1 << n) { rep(j, n) { if (i >> j & 1)continue; rep(k, n) { if (i >> k & 1)continue; dp[i | 1 << j | 1 << k] = max(dp[i | 1 << j | 1 << k], dp[i] + a[j][k]); } } } cout << dp[(1 << n) - 1] << endl; }