#include <iostream>
#include<algorithm>
using namespace std;
char g[35][65];
int f[35][65] = { 0 };
int num = 0;
int dx[] = { 0,0,-1,1 }, dy[] = {1,-1,0,0};
void dfs(int x, int y)
{
if (x < 1 || x>30 || y < 1 || y>60 || g[x][y] == '0'||f[x][y]==1)
return;
f[x][y] = 1;
num++;
for (int i = 0; i < 4; i++)
{
int a = x + dx[i], b = y + dy[i];
if (a >= 1 && a <= 30 && b >= 1 && b <= 60 && g[a][b] == '1'&&f[a][b]==0)
dfs(a, b);
}
}
int main()
{
for (int i = 1; i <= 30; i++)
{
for (int j = 1; j <= 60; j++)
cin >> g[i][j];
}
int ans = 0;
for (int i = 1; i <= 30; i++)
{
for (int j = 1; j <= 60; j++)
{
dfs(i, j);
ans = max(ans, num);
num= 0;
}
}
cout << ans;
return 0;
}