#include using namespace std; int n,cost[24][24],ma = 0; int use = 0; void dfs(int now,int sum){ if(now == n / 2){ ma = max(ma,sum); return; } int mi = 50; for(int i = 0;i < n;i++){ if(!(use >> i & 1)) mi = min(mi,i); } use |= 1 << mi; for(int i = mi + 1;i < n;i++){ use |= 1 << i; dfs(now + 1,sum + cost[mi][i]); use &= ~(1 << i); } use &= ~(1 << mi); } int main(){ cin >> n; for(int i = 0;i < n;i++){ for(int j = 0;j < n;j++){ cin >> cost[i][j]; } } dfs(0,0); cout << ma << endl; return 0; }