#include using namespace std; const int NMax = 1e5 + 5; int v[55][55]; int A[55][55]; int B[55][55]; int main() { int n; cin >> n; int best = -105; for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) { cin >> v[i][j]; best = max(best, v[i][j]); } } for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) { A[i][j] = A[i][j - 1] + v[i][j]; B[i][j] = B[i - 1][j] + v[i][j]; } } for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) { for(int d = 1; d <= n - max(i, j); d++) { int area = 0; area += B[i + d][j + d] - B[i - 1][j + d]; area += B[i + d][j] - B[i - 1][j]; area += A[i][j + d] - A[i][j - 1]; area += A[i + d][j + d] - A[i + d][j - 1]; area = area - v[i][j] - v[i][j + d] - v[i + d][j] - v[i + d][j + d]; best = max(area, best); } } } cout << best; return 0; }