#include <cstdio> #include <cstdlib> #include <cmath> #include <cstring> #include <iostream> #include <string> #include <algorithm> #include <vector> #include <queue> #include <stack> #include <map> #include <set> #include <functional> #include <cassert> typedef long long ll; using namespace std; #define debug(x) cerr << #x << " = " << (x) << endl; #define mod 1000000007 //1e9+7(prime number) #define INF 1000000000 //1e9 #define LLINF 2000000000000000000LL //2e18 #define SIZE 30 int dp[1<<24]; int main(){ int n; int f[SIZE][SIZE]; scanf("%d",&n); for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ scanf("%d",f[i]+j); } } for(int i=0;i<(1<<n)-1;i++){ if((dp[i]==0 && i != 0)) continue; for(int j=0;j<n;j++){ if((1<<j) & i) continue; for(int k=j+1;k<n;k++){ if((1<<k) & i) continue; dp[i | (1<<j) | (1<<k)] = max(dp[i | (1<<j) | (1<<k)], dp[i] + f[j][k]); } break; } } printf("%d\n",dp[(1<<n)-1]); return 0; }