#include <bits/stdc++.h>
using namespace std;
struct vektor{
	int t;//縦
	int y;//横
	int m;//右斜め
	int h;//左斜め
};
int main(){
	while(true){
		int n;
		cin>>n;
		if(n==0){
			break;
		}
		vektor tebl[n+2][n+2]={};
		char l;
		int ans=0;
		for(int p=1;p<n+1;p++){
			for(int k=1;k<n+1;k++){
				cin>>l;
				if(l=='1'){
					tebl[p][k].t=tebl[p-1][k].t+1;
					tebl[p][k].y=tebl[p][k-1].y+1;
					tebl[p][k].m=tebl[p-1][k+1].m+1;
					tebl[p][k].h=tebl[p-1][k-1].h+1;
					if(tebl[p][k].t>ans){
						ans=tebl[p][k].t;
					}
					if(tebl[p][k].y>ans){
						ans=tebl[p][k].y;
					}
					if(tebl[p][k].m>ans){
						ans=tebl[p][k].m;
					}
					if(tebl[p][k].h>ans){
						ans=tebl[p][k].h;
					}
				}else{
					tebl[p][k].t=0;
					tebl[p][k].y=0;
					tebl[p][k].m=0;
					tebl[p][k].h=0;
					}
			}
		}
		cout<<ans<<endl;
	}
}
