#include <iostream>
using namespace std;

char A[1000][1000];

int main(){
	int n;
	while(cin >> n && n){
		for(int i = 0 ; i < 1000 ; i++)
			for(int j = 0 ; j < 1000 ; j++)
				A[i][j] = '0';
		for(int i = 0 ; i < n ; i++)
			for(int j = 0 ; j < n ; j++)
				cin >> A[i+300][j+300];
		int ans = 0;
		for(int i = 0 ; i < 1000 ; i++){
			int p = 0;
			for(int j = 0 ; j < 1000 ; j++){
				p += A[i][j] - '0';
			}
			ans = max(ans,p);
		}
		for(int i = 0 ; i < 1000 ; i++){
			int p = 0;
			for(int j = 0 ; j < 1000 ; j++){
				p += A[j][i] - '0';
			}
			ans = max(ans,p);
		}
		for(int i = 0 ; i < 1000 ; i++){
			int p = 0;
			for(int j = 0 ; i+j < 1000 ; j++){
				p += A[j][i+j] - '0';
			}
			ans = max(ans,p);
		}
		for(int i = 900 ; i >=0 ; i--){
			int p = 0;
			for(int j = 0 ; i-j >= 0 ; j++){
				p += A[j][i-j] - '0';
			}
			ans = max(ans,p);
		}
		cout << ans << endl;
	}
}