#include<bits/stdc++.h>
using namespace std;

char mas[257][257];
int dx[]={-1,0,1,1,1,0,-1,-1};
int dy[]={-1,-1,-1,0,1,1,1,0};
int dfs(int x,int y,int k);
int n;

int main(){
  while(1){
    cin >> n;
    if(n == 0) break;
    for(int i=0;i<n;i++){
      for(int j=0;j<n;j++){
	cin >> mas[i][j];
      }
    }
    int ans = 0;
    for(int i=0;i<n;i++){
      for(int j=0;j<n;j++){
	if(mas[i][j] == '1'){
	  for(int k=0;k<8;k++){
	    ans = max(ans,dfs(j,i,k) + 1);
	  }
	}
      }
    }
    cout << ans << endl;
  }
}

int dfs(int x,int y,int k){
  int nx = x + dx[k];
  int ny = y + dy[k];
  if(mas[ny][nx] == '1' && ny >= 0 && nx >= 0 && ny < n && nx < n){
    return (dfs(nx,ny,k) + 1);
  }
  return 0;
}
  