#include <iostream> #include <algorithm> using namespace std; int v[55][55]; int square(int n,int beg,int lenght,int line){ int s=0; for(int i=beg;i<=beg+lenght;++i){ s+=v[line][i]; } for(int i=line+1;i<=line+lenght;++i){ s+=v[i][beg+lenght]; } for(int i=beg+lenght-1;i>=beg;--i){ s+=v[line+lenght][i]; } for(int i=line+lenght-1;i>line;--i){ s+=v[i][beg]; } return s; } int main(){ int n; int maxim=-20000000,maxim2=-2000; cin >>n; for(int i=1;i<=n;++i){ for(int j=1;j<=n;++j){ cin >>v[i][j]; } } for(int i=1;i<=n;++i){ for(int j=1;j<=n;++j){ for(int l=1;l+j-1<=n;++l){ if(maxim<square(n, j, l, i)) maxim=square(n, j, l, i); } if(maxim2<v[i][j]){ maxim2=v[i][j]; } } } cout <<max(maxim,maxim2); return 0; }