#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;

#define SIZE 255

char M[SIZE][SIZE];

int main() {
  int n, mx, cnt;
  
  while(cin>>n && n) {
    for(int i = 0; i < n; i++) {
      for(int j = 0; j < n; j++) {
	cin >> M[i][j];
      }
    }

    mx = 0;
    // x = k
    for(int i = 0; i < n; i++) {
      cnt = 0;
      for(int j = 0; j < n; j++) {
	if(M[i][j]-'0') { 
	  cnt++;
	  mx = max(mx, cnt);
	} else {
	  cnt = 0;
	}
      }
    }

    // y = k
    for(int i = 0; i < n; i++) {
      cnt = 0;
      for(int j = 0; j < n; j++) {
	if(M[j][i]-'0') { 
	  cnt++;
	  mx = max(mx, cnt);
	} else {
	  cnt = 0;
	}
      }
    }

    int I;
    // y = x + k
    for(int i = 0; i < 2*n; i++) {
      cnt = 0;
      for(int j = 0; j < n; j++) {
	I = -j + i;
	if(0<=I&&I<n) {
	  if(M[I][j]-'0') { 
	    cnt++;
	    mx = max(mx, cnt);
	  } else {
	    cnt = 0;
	  }
	}
      }
    }
    
    // y = -x + k
    for(int i = 0; i < 2*n; i++) {
      cnt = 0;
      for(int j = 0; j < n; j++) {
	I = j + (-(n-1)+i); 
	if(0<=I&&I<n) {
	  if(M[I][j]-'0') { 
	    cnt++;
	    mx = max(mx, cnt);
	  } else {
	    cnt = 0;
	  }
	}
      }
    }

    cout << mx << endl;
  }
  
  return 0;
}