#include <iostream>
#include <stdio.h>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <functional>
#include <math.h>
#include <utility>
#include <string>
#include <sstream>
#include <complex>
using namespace std;
#define INF 1e+10
#define EPS 1e-10
#define EQ(a,b) abs(a-b)<EPS
typedef pair<int,int> P;
typedef complex<double> CO;
int n;bool swi=false;
P next_p1(int x,int y){
	if(x==n-1)return P(x-y-1,0);
	else if(x==0&&y==n-1)return P(-2,-2);
	else if(y==n-1)return P(0,y-x+1);
	else return P(x+1,y+1);
}
int main()
{
	bool grid[300][300],grid2[300][300];
	while(cin>>n&&n){
		int ans=0;
		for(int i=0;i<n;i++){
			for(int j=0;j<n;j++){
				char c;cin>>c;int s=c-'0';
				grid[i][j]=s==0?false:true;
				grid2[n-i-1][j]=s==0?false:true;
			}
		}
		for(int i=0;i<n;i++){
			int j=0,f=0,d=0;
			bool in=false;grid[i][n]=false;
			while(j<=n){
				if(!in&&grid[i][j]){
					in=true;f=j;
				}else if(in&&!grid[i][j]){
					in=false;d=max(d,j-f);
				}
				j++;
			}
			ans=max(ans,d);
		}
		for(int i=0;i<n;i++){
			int j=0,f=0,d=0;
			bool in=false;grid[i][n];
			while(j<=n){
				if(!in&&grid[j][i]){
					in=true;f=j;
				}else if(in&&!grid[j][i]){
					in=false;d=max(d,j-f);
				}
				j++;
			}
			ans=max(ans,d);
		}
		for(int i=1;i<=2*n-1;i++){
			int m;P t;
			if(i<=n){
				m=i;
				t=P(n-i,0);
			}else{
				m=2*n-i;
				t=P(0,i-n);
			}
			int j=0,f=0,d=0;
			bool in=false;
			while(j<=m){
				if(!in&&grid[t.first][t.second]){
					in=true;f=j;
				}else if(in&&(!grid[t.first][t.second]||j==m)){
					in=false;d=max(d,j-f);
				}
				t=next_p1(t.first,t.second);
				j++;
			}
			ans=max(ans,d);
		}
		for(int i=1;i<=2*n-1;i++){
			int m;P t;
			if(i<=n){
				m=i;
				t=P(n-i,0);
			}else{
				m=2*n-i;
				t=P(0,i-n);
			}
			int j=0,f=0,d=0;
			bool in=false;
			while(j<=m){
				if(!in&&grid2[t.first][t.second]){
					in=true;f=j;
				}else if(in&&(!grid2[t.first][t.second]||j==m)){
					in=false;d=max(d,j-f);
				}
				t=next_p1(t.first,t.second);
				j++;
			}
			ans=max(ans,d);
		}
		cout<<ans<<endl;
	}
    return 0;
}