#include <iostream>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <cstdio>
using namespace std;
#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,b) FOR(i,0,b)
#define PB push_back
#define MP make_pair
int main(){
  int fld[255][255][5];
  int n;
  string in;
  while(cin>>n&&n){
    for(int i=0;i<255;i++)for(int j=0;j<255;j++)for(int k=0;k<5;k++)fld[i][j][k]=0;
    for(int i=0;i<n;i++){
      cin>>in;
      for(int j=0;j<n;j++){
        fld[i][j][0]=in[j]-'0';
      }
    }
    for(int i=0;i<n;i++){
      for(int j=0;j<n;j++){
        if(fld[i][j][0]==0){
          for(int k=1;k<5;k++)fld[i][j][k]=0;
          continue;
        }else for(int k=1;k<5;k++)fld[i][j][k]=1;
        if(i!=0){
          fld[i][j][1]=fld[i-1][j][1]+1;
          if(j!=0){
            fld[i][j][2]=fld[i-1][j-1][2]+1;
          }
          if(j!=n-1){
            fld[i][j][3]=fld[i-1][j+1][3]+1;
          }
        }
        if(j!=0){
          fld[i][j][4]=fld[i][j-1][4]+1;
        }
      }
    }
    int ans=0;
    for(int i=0;i<n;i++){
      for(int j=0;j<n;j++){
        for(int k=1;k<5;k++){
          ans=max(ans,fld[i][j][k]);
        }
      }
    }
    cout<<ans<<endl;
  }
}