#include <iostream>
#include <algorithm>
#include <cassert>
#include <cctype>
#include <complex>
#include <cstdio>
#include <map>
#include <math.h>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <vector>
using namespace std;

#define rep(i,n) for(int i=0;i<n;i++)

char m[255][255];
int n,dp1[255][255],dp2[255][255],dp3[255][255],dp4[255][255];

int main(){
	while(cin>>n&&n){
		rep(i,n){
			fill(dp1[i],dp1[i]+n,0);
			fill(dp2[i],dp2[i]+n,0);
			fill(dp3[i],dp3[i]+n,0);
			fill(dp4[i],dp4[i]+n,0);
		}
		rep(i,n)rep(j,n){cin>>m[i][j];m[i][j]-='0';}
		rep(i,n)rep(j,n)if(m[i][j]){
			dp1[i][j]=(i>0?dp1[i-1][j]+1:1);
			dp2[i][j]=(j>0?dp2[i][j-1]+1:1);
			dp3[i][j]=(i>0&&j>0?dp3[i-1][j-1]+1:1);
			dp4[i][j]=(i>0&&j<n-1?dp4[i-1][j+1]+1:1);
		}
		int ans=0;
		rep(i,n)rep(j,n){
			int a=max(dp1[i][j],dp2[i][j]),b=max(dp3[i][j],dp4[i][j]);
			ans=max(ans,max(a,b));
		}
		cout<<ans<<endl;
	}
}