#include #define ll long long #define INF 1000000005 #define MOD 1000000007 #define EPS 1e-10 #define rep(i,n) for(int i=0;i<(int)n;++i) #define each(a, b) for(auto (a): (b)) #define all(v) (v).begin(),(v).end() #define fi first #define se second #define pb push_back #define show(x) cout <<#x<<" = "<<(x)<P; const int MAX_N = 24; int memo[1 << MAX_N]; int fav[MAX_N][MAX_N]; int n; int rec(int u) { if(memo[u] >= 0){ return memo[u]; } int f,s; int mx = 0; int cnt = 0; rep(i,n){ if((u >> i) & 1){ if(cnt){ s = i; mx = max(mx,rec(u - (1 << f) - (1 << s)) + fav[f][s]); }else{ f = i; cnt++; } } } memo[u] = mx; return mx; } int main() { cin >> n; rep(i,n){ rep(j,n){ cin >> fav[i][j]; } } fill(memo,memo+(1<