#include<iostream> #include<stdlib.h> using namespace std; int a[53][54],i,j,n,m,sol[5]; long long maxim=-101; int valid(int k) { if(k==4) { if(abs(sol[4]-sol[2])!=abs(sol[1]-sol[3])) return 0; if(sol[1]>sol[3]||sol[2]>sol[4]) return 0; } return 1; } int back(int k) { if(k==5) {long long suma=0; for(i=sol[2];i<=sol[4];i++) suma=suma+a[sol[1]][i]; if(sol[2]!=sol[4]) for(i=sol[2];i<=sol[4];i++) suma=suma+a[sol[3]][i]; for(i=sol[1]+1;i<sol[3];i++) suma=suma+a[i][sol[2]]+a[i][sol[4]]; if(suma>maxim) maxim=suma; } else { sol[k]=0; while(sol[k]<n) { sol[k]++; if(valid(k)) back(k+1); } } } int main() { cout<<"n=";cin>>n; for(i=1;i<=n;i++) for(j=1;j<=n;j++) cin>>a[i][j]; back(1); cout<<maxim<<endl; }