#include<bits/stdc++.h>
using namespace std;
char a[105][105];
int ans=0,ans1;
int move[4][2]={0,1,1,0,0,-1,-1,0};
void bfs(int x, int y) {
for (int i=0;i<4;i++) {
int x1=x+move[i][0];
int x2=y+move[i][1];
if (a[x1][x2]=='1') {
a[x1][x2]='0';
ans++;
bfs(x1,x2);
}
}
}
int main() {
int n,m;
cin>>n>>m;
for (int i=1;i<=n;i++) {
for (int j=1;j<=m;j++) {
cin>>a[i][j];
}
}
for (int i=1;i<=n;i++) {
for (int j=1;j<=m;j++) {
if (a[i][j]=='1') {
ans=1;
a[i][j]='0';
bfs(i,j);
ans1=max(ans,ans1);
}
}
}
cout<<ans1<<endl;
return 0;
}
/*
5 6
0 1 1 0 0 1
1 1 0 1 0 1
0 1 0 0 1 0
0 0 0 1 1 1
1 0 1 1 1 0
*/
/*
7*/
08-19