#include "bits/stdc++.h"
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
#define rep(i,n) for(ll i=0;i<(ll)(n);i++)
#define all(a)  (a).begin(),(a).end()
#define pb push_back
#define maxup(a,b) (a=max(a,b))
#define minup(a,b) (a=min(a,b))
#define INF 999999999

int n;

int exe(int y,int x,int dy,int dx,vector<string> data){
    int tmp = 0;
    while(1){
        if( !(x>=0 && y>=0 && x<n && y<n) ){
            break;
        }
        tmp+=data[y][x]-'0';
        x+=dx,y+=dy;
    }
    return tmp;
}


int solve(int y,int x,vector<string> data){
    int lu=0,ld=0;
    int ru=0,rd=0;
    
    rd = exe(y,x,1,1,data);
    ru = exe(y,x,-1,1,data);
    ld = exe(y,x,1,-1,data);
    lu = exe(y,x,-1,-1,data);
    
    return max(rd+lu,ru+ld)-(data[y][x]-'0');
}


int main(){
    while(cin>>n&&n){
        vector<string> data(n);
        rep(i,n)cin>>data[i];

        int maxi = -1;
        rep(i,n){
            int tmp=0;
            rep(j,n){
                tmp+=data[i][j]-'0';
            }
            maxup(maxi,tmp);
        }
        rep(i,n){
            int tmp=0;
            rep(j,n){
                tmp+=data[j][i]-'0';
            }
            maxup(maxi,tmp);
        }
        
        rep(i,n){
            rep(j,n){
                maxup(maxi,solve(i,j,data));
            }
        }
        cout<<maxi<<endl;
    }
}