#include<bits/stdc++.h>
using namespace std;
int maxcp, maxcs;
int n,m;
int a[10000][10000];
void search(int x, int y)
{
        a[x][y]=2;
        maxcs++;
        if(a[x+1][y]==1) search(x+1,y);
        else if(a[x+1][y]==0) maxcp++;
        if(a[x-1][y]==1) search(x-1,y);
        else if(a[x-1][y]==0) maxcp++;
        if(a[x][y+1]==1) search(x,y+1);
        else if(a[x][y+1]==0) maxcp++;
        if(a[x][y-1]==1) search(x,y-1);
        else if(a[x][y-1]==0) maxcp++;
}
int main()
{
    ifstream fi("bonhoa.inp");
    ofstream fo("bonhoa.out");
    fi>>m>>n;
    for(int i=1;i<=m;i++)
    {
        for(int j=1;j<=n;j++)
        {
            fi>>a[i][j];
        }
    }
    int maxs=0;
    int maxp=0;
    for(int i=1;i<=m;i++)
    {
        for(int j=1;j<=n;j++)
        {
            if(a[i][j]==1)
            {
                maxcs=0;
                maxcp=0;
                search(i,j);
                if(maxcs>maxs) maxs=maxcs;
                if(maxcp>maxp) maxp=maxcp;
            }
        }
    }
    fo<<maxs<<endl<<maxp;
}
