#include<algorithm>
#include<string>
#include<vector>
#include<set>
#include<iostream>
using namespace std;
typedef vector<int> vi;
string board[265];

int main()
{
  int n;
  while(cin >> n && n)
    {
      int ans=-1;
      int wchain=0;
      int hchain=0;
      int schain=0;
      for(int i=0;i<n;i++)
	{
	  cin >> board[i];
	}
      for(int i=0;i<n;i++)
	{
	  wchain=0;
	  for(int j=0;j<n;j++)
	    {
	      if(board[i][j]=='1')
		{
		  wchain++;
		}
	      else
		{
		  ans=max(ans,wchain);
		  wchain=0;
		}
	    }
	  ans=max(ans,wchain);
	}
      for(int i=0;i<n;i++)
	{
	  hchain=0;
	  for(int j=0;j<n;j++)
	    {
	      if(board[j][i]=='1')
		{
		  hchain++;
		}
	      else
		{
		  ans=max(ans,hchain);
		  hchain=0;
		}
	    }
	   ans=max(ans,wchain);
	}
      for(int i=0;i<n;i++)
	{
	  schain=0;
	  int h=i,w=0;
	  if(board[h][w]=='1')
	    {
	      schain++;
	    }
	  else
	    {
	      ans=max(ans,schain);
	      schain=0;
	    }
	  while((h-1)>=0 && (w+1)<n)
	    {
	      h--;
	      w++;
	      if(board[h][w]=='1')
		{
		  schain++;
		}
	      else
		{
		  ans=max(ans,schain);
		  schain=0;
		}
	    }
	   ans=max(ans,schain);
	}
      for(int i=0;i<n;i++)
	{
	  schain=0;
	  int h=n-1,w=i;
	  if(board[h][w]=='1')
	    {
	      schain++;
	    }
	  else
	    {
	      ans=max(ans,schain);
	      schain=0;
	    }
	  while((h-1)>=0 && (w+1)<n)
	    {
	      h--;
	      w++;
	      if(board[h][w]=='1')
		{
		  schain++;
		}
	      else
		{
		  ans=max(ans,schain);
		  schain=0;
		}
	    }
	  ans=max(ans,schain);
	}


       for(int i=0;i<n;i++)
	{
	  schain=0;
	  int h=i,w=0;
	  if(board[h][w]=='1')
	    {
	      schain++;
	    }
	  else
	    {
	      ans=max(ans,schain);
	      schain=0;
	    }
	  while((h+1)<n && (w+1)<n)
	    {
	      h++;
	      w++;
	      if(board[h][w]=='1')
		{
		  schain++;
		}
	      else
		{
		  ans=max(ans,schain);
		  schain=0;
		}
	    }
	  ans=max(ans,schain);
	}
      for(int i=0;i<n;i++)
	{
	  schain=0;
	  int h=0,w=i;
	  if(board[h][w]=='1')
	    {
	      schain++;
	    }
	  else
	    {
	      ans=max(ans,schain);
	      schain=0;
	    }
	  while((h+1)<n && (w+1)<n)
	    {
	      h++;
	      w++;
	      if(board[h][w]=='1')
		{
		  schain++;
		}
	      else
		{
		  ans=max(ans,schain);
		  schain=0;
		}
	    }
	  ans=max(ans,schain);
	}
      cout << ans << endl;
    }
  return 0;
}

