#include<iostream>

using namespace std;

#define rep(i,n) for(int i=0;i<(int)(n);i++)

int main(){
	int n;
	while(cin>>n){
		if(n==0)break;
		int data[101][101];
		rep(i,n){
			rep(j,n){
				cin>>data[i][j];
			}
		}

		int ans=-999999999;


		int right,under;
		rep(i,n){
			rep(j,n){
				int dp[101][101];
				rep(k,101)rep(l,101)dp[k][l]=-999999999;
				dp[i][j]=data[i][j];

				for(int k=i;k<n;k++){
					for(int l=j;l<n;l++){
						bool a=l+1<n,b=k+1<n;
						if(a){
							right=0;
							for(int loop=i;loop<=k;loop++) right+=data[loop][l+1];
							dp[k][l+1]=dp[k][l]+right;
						}
						if(b){
							under=0;
							for(int loop=j;loop<=l;loop++) under+=data[k+1][loop];
							dp[k+1][l]=dp[k][l]+under;
						}
						if(a && b)
							dp[k+1][l+1]=dp[k][l+1]+dp[k+1][l]-dp[k][l]+data[k+1][l+1];
					}
				}

				for(int k=i;k<n;k++)for(int l=j;l<n;l++){
					ans=max(ans,dp[k][l]);
				}
			}
		}
		cout<<ans<<endl;

	}
	return 0;
}