#include <bits/stdc++.h>

using namespace std;

# define pb push_back
# define mp make_pair
# define FORN( a , b , c ) for ( register int a = b ; a <= c ; ++ a )
# define FORNBACK( a , b , c ) for ( register int a = b ; a >= c ; -- a )

char mat [ 1000 ] [ 1000 ] ;
int h [ 1000 ] ;

# define fin cin
# define fout cout

int main()
{
    //ifstream fin ( "input" ) ;
    //ofstream fout ( "output" ) ;
    int n ;
    fin >> n ;
    int m ;
    fin >> m ;
    FORN ( i , 1 , n ) {
        fin >> ( mat [ i ] + 1 ) ;
    }
    int best = 0 ;
    FORN ( i , 1 , n )
    {
        int st = -1 ;
        FORN ( j , 1 , m )
        {
            if ( mat [ i ] [ j ] == '1' ) {
                h [ j ] = h [ j ] + 1 ;
                if ( st == -1 ) {
                    st = j ;
                }
            }
            else {
                h [ j ] = 0 ;
                st = -1 ;
            }
            if ( st != j and st != -1 and h [ j ] > 1 ) {
                FORN ( k , st , j - 1 ) {
                    if ( h [ k ] > 1 )
                    best = max ( best , j - k + 1 + h [ j ] + h [ k ] - 2 ) ;
                }
            }
        }
    }
    fout << best << '\n' ;
    return 0;
}