#include<iostream>
#include<string>
#include<cstdlib>
using namespace std;
#define MAX_N 255

int ans = 0, n, tmpans = 0;
int map[MAX_N + 1][MAX_N + 1];

void makeMap();
void check();
void loop(int sum, int x, int y, int xm, int ym);
void disp();

int main(){
    while(cin >>n){
        if(n == 0) break;
        ans = 0;
        makeMap();
        check();
        cout <<ans <<endl;
    }
    return 0;
}

void makeMap(){
    for(int i = 0; i < n; i++){
        string tmp;
        cin >>tmp;
        for(int j = 0; j < n; j++){
            map[i][j] = tmp[j] - 48;
        }
    }
}

void check(){
    int xm[4][2] = {{0, 0}, {1, -1}, {1, -1}, {-1, 1}}, ym[4][2] = {{1, -1}, {0, 0}, {-1, 1}, {-1, 1}};
    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
            if(map[i][j] == 1){
                for(int k = 0; k < 4; k++){
                    tmpans = 0;
                    for(int m = 0; m < 2; m++){
                        loop(0, j + xm[k][m], i + ym[k][m], xm[k][m], ym[k][m]);
                    }
                    tmpans++;
                    if(tmpans > ans){
                        ans = tmpans;
//                        disp();
//                        cout <<"(" <<i <<", " <<j <<") , " <<k <<" ans = " <<ans <<endl;
                    }
                }
            }
        }
    }
}

void loop(int sum, int x, int y, int xm, int ym){
    if(x >= n || y >= n || x < 0 || y < 0 || map[y][x] == 0){
//        cout <<"! (" <<y <<", " <<x <<") " <<sum <<endl;
        tmpans += sum;
    } else if(map[y][x] == 1){
//        map[y][x] = 0;
        loop(sum + 1, x + xm, y + ym, xm, ym);
//        map[y][x] = 1;
    }
}

void disp(){
    cout <<endl;
    for(int i = 0; i < n; i++){
        for(int j = 0; j < n ; j++){
            cout <<map[i][j] <<" ";
        }
        cout <<endl;
    }
}