import java.util.Scanner;
class Main {
public int solution(int n, int[][] arr) {
int answer = Integer.MIN_VALUE; // 제일 큰 값
int sum1, sum2;
for(int i = 0; i < n; i++) {
sum1=sum2=0;
for(int j = 0; j < n; j++) {
sum1+=arr[i][j]; //행들의 합
sum2+=arr[j][i]; //열들의 합
}
answer = Math.max(answer, sum1);
answer = Math.max(answer, sum2);
}
//대각선들의 합
for(int i = 0; i < n; i++) {
sum1=sum2=0;
sum1 += arr[i][i];
sum2 += arr[i][n-i-1];
answer = Math.max(answer, sum1);
answer = Math.max(answer ,sum2);
}
//최종적으로 answer에는 가장 큰 값이 들어가게 된다.
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[][] arr = new int[n][n];
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++){
arr[i][j] = kb.nextInt();
}
}
System.out.println(T.solution(n, arr));
}
}