#include<bits/stdc++.h>
using namespace std;
int dfs(int,int,int);
char table[255][256];
int dx[4]={0,1,1,-1},
	dy[4]={1,0,1,1};
int mx=-1,n,xx,yy;
int main(void)
{
	int i,j,k;

	cin>>n;
	while(n) {
		for(i=0;i<n;i++) cin>>table[i];
		mx=0;
		for(i=0;i<n;i++) {
			for(j=0;j<n;j++) {
				if(table[i][j]=='1') {
					for(k=0;k<4;k++) {
						mx=max(mx,dfs(i,j,k)+1);
					}
				}
			}
		}
		cout<<mx<<endl;
		cin>>n;
	}
	return 0;
}
int dfs(int y,int x,int suu)
{
	int i,j,k;
	xx=x+dx[suu];
	yy=y+dy[suu];
	if(table[yy][xx]=='1'&&yy>=0&&yy<n&&xx>=0&&xx<n) {
		return (dfs(yy,xx,suu)+1);
	}
	return 0;
}
	
	