#include <iostream>
#include <stdio.h>
#include <string>
#include <cmath>
#include <string.h>
#include <set>
#include <algorithm>
using namespace std;
int road[20][20];
int visit[20];
int n;
int res;
int getans(){
int sum = 0;
for (int i = 0; i < n; ++i) {
if (!visit[i]) continue;
for (int j = 0; j < n; ++j) {
if (visit[j]) continue;
sum += road[i][j];
}
}
return sum;
}
void dfs(int ix){
if (ix == n){
res = max(res, getans());
return;
}
visit[ix] = 1;
dfs(ix+1);
visit[ix] = 0;
dfs(ix+1);
}
int main(){
cin>>n;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
cin>>road[i][j];
}
}
dfs(0);
cout<<res<<endl;
}