#include<bits/stdc++.h>
using namespace std;

long long u[3333][3333];
long long S[123456];
long long dp[123456];
int main(){
    long long n;
    cin >> n;
    for(long long i = 0; i < n; i++){
        for(long long j = 0; j < n; j++){
            cin >> u[i][j];
        }
    }
    for(long long b = 0; b < (1 << n); b++){
        for(long long i = 0; i < n; i++)
            for(long long j = i; j < n; j++)
                if(((1<<i)& b) && ((1<<j) &b)) S[b] += u[i][j];
    }
    for(long long b = 1; b < (1 << n); b++){
        dp[b] = S[b];
        for(long long j = b &(b - 1); j; j = b&(j - 1))
            dp[b] = max(dp[b], dp[b ^ j] + S[j]);
    }
    cout << dp[(1 << n) - 1] << endl;

}
