#include <iostream>
#include <math.h>
#include <stdlib.h>
using namespace std;
short tb[50][50];
int maxx = -101;
void borderSize(int X, int Y, int S){
    int ered = 0;
    for(int y = Y; y <= Y+S; ++y){
        for(int x = X; x <= X+S; ++x){
            if(x == X || x == X+S || y == Y || y == Y+S)
                ered += tb[x][y];
        }
    }
    if(ered > maxx)
    {
      maxx = ered;
    }

}
int main(){
    int N;
    cin >> N;
    for(int y = 0; y < N; ++y){
        for(int x = 0; x < N; ++x){
            cin >> tb[x][y];
            if(tb[x][y] > maxx)
                maxx = tb[x][y];
        }
    }
    for(int mer = N-2; mer > 0; --mer){
        for(int y = 0; y <= N-mer; ++y){
            for(int x = 0; x <= N-mer; ++x){
                borderSize(x,y,mer);
            }
        }
    }
    cout << maxx;
    return 0;
}