#include <bits/stdc++.h>
using namespace std;

#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,n) FOR(i,0,n)

int main() {
	
	int n;
	while (cin >> n, n) {
		bool grid[255][255];
		
		REP(i, n) {
			string str;
			cin >> str;
			REP(j, n) {
				grid[i][j] = !!(str[j] - '0');
			}
		}
		int ans = 0, cnt;
		
		REP(i, n) {
			cnt = 0;
			REP(j, n) {
				if (!grid[i][j]) {
					ans = max(ans, cnt);
					cnt = 0;
				}
				else cnt++;
			}
			ans = max(ans, cnt);
			
			cnt = 0;
			REP(j, n) {
				if (!grid[j][i]) {
					ans = max(ans, cnt);
					cnt = 0;
				}
				else cnt++;
			}
			ans = max(ans, cnt);
			
			cnt = 0;
			REP(j, i + 1) {
				if (!grid[i - j][j]) {
					ans = max(ans, cnt);
					cnt = 0;
				}
				else cnt++;
			}
			ans = max(ans, cnt);
			
			cnt = 0;
			REP(j, i + 1) {
				if (!grid[i - j][n - 1 - j]) {
					ans = max(ans, cnt);
					cnt = 0;
				}
				else cnt++;
			}
			ans = max(ans, cnt);
			
			cnt = 0;
			REP(j, i + 1) {
				if (!grid[n - 1 - i + j][j]) {
					ans = max(ans, cnt);
					cnt = 0;
				}
				else cnt++;
			}
			ans = max(ans, cnt);
			
			cnt = 0;
			REP(j, i + 1) {
				if (!grid[n - 1 - i + j][n - 1 - j]) {
					ans = max(ans, cnt);
					cnt = 0;
				}
				else cnt++;
			}
			ans = max(ans, cnt);
		}
		
		cout << ans << endl;
	}
	return 0;
}