#include<iostream>

const int N = 257;
using namespace std;

int main(void){
  while( true ){
    int n;
    int ans = 0;
    int G[N][N] = {{0,},};
    int H[N][N][4] = {{{0,},},};
    
    cin >> n;
    if(n == 0)break;
    
    for(int i = 0; i < n; i++){
      for(int j = 0; j < n; j++){
	char c;
	cin >> c;
	G[i+1][j+1] = c - '0';
      }
    }
    for(int j = 1; j < n + 1; j++){
      if( G[1][j] == 1 ){
	for(int k = 0; k < 4; k++){
	  if ( k == 0 ){
	    H[1][j][k] = H[1][j - 1][0] + 1;
	  }else{
	    H[1][j][k] = 1;
	  }
	}
      }
    }
    for(int i = 2; i < n + 1; i++){
      for(int j = 1; j < n + 1; j++){
	if( G[i][j] ){
	  H[i][j][0] = H[i][j - 1][0] + 1;
	  H[i][j][1] = H[i][j - 1][1] + 1;
	  H[i][j][2] = H[i - 1][j][2] + 1;
	  H[i][j][3] = H[i - 1][j + 1][3] + 1;
	}
      }
    }
    for( int i = 1; i < n + 1; i++){
      for(int j = 1; j < n + 1; j++){
	for(int k = 0; k < 4; k++){
	  ans = max( ans, H[i][j][k] );
	}
      }
    }
    cout << ans << endl;
  }
  return 0;
}