#include <cstdio>
#include <algorithm>
using namespace std;

int n;

// arr[y][x]
int arr[260][260];

/*
0: ツ湘」
1: ツ債カ
2: ツ債カツ湘」
3: ツ右ツ湘」
*/
int dp[4][260][260];


int main() {
	for(;;) {
		scanf(" %d", &n);
		if(!n) break;
		for(int y = 0; y < n; y++) {
			char line[260];
			scanf(" %s", line);
			for(int x = 0; x < n; x++) {
				arr[y][x] = line[x] - '0';
			}
		}
		memset(dp, 0, sizeof dp);
		for(int y = 0; y < n; y++) {
			for(int x = 0; x < n; x++) {
				if(arr[y][x] == 1) {
					for(int i = 0; i < 4; i++) {
						dp[i][y][x] = 1;
					}
					if(y >= 1) {
						dp[0][y][x] += dp[0][y - 1][x];
					}
					if(x >= 1) {
						dp[1][y][x] += dp[1][y][x - 1];
					}
					if(x >= 1 && y >= 1) {
						dp[2][y][x] += dp[2][y - 1][x - 1];
					}
					if(y >= 1 && x < n - 1) {
						dp[3][y][x] += dp[3][y - 1][x + 1];
					}
				}
			}
		}
		int maxv = 0;
		for(int y = 0; y < n; y++) {
			for(int x = 0; x < n; x++) {
				for(int k = 0; k < 4; k++) {
					maxv = max(maxv, dp[k][y][x]);
				}
			}
		}
		printf("%d\n", maxv);
	}
	return 0;
}