#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

const int MAX_N = 510;

int up[MAX_N][MAX_N];
string s[MAX_N];

int main() {
    int n, m;
    cin >> n >> m;
    for(int i = 1; i <= n; i++) {
        cin >> s[i];
        s[i] = " " + s[i];
    }

    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= m; j++) {
            if(s[i][j] == '1') {
                up[i][j] = 1 + up[i - 1][j];
            }
        }
    }

    int ans = 0;

    for(int i = 2; i <= n; i++) {
        int um = 0;
        for(int j = 1; j <= n; j++) {
            if(up[i][j] >= 2) {
                if(um >= 2) {
                    ans = max(ans, up[i][j] + um);
                }
                um = max(um + 1,  up[i][j]);

            }
            else if(s[i][j] == '1') {
                if(um) {
                    um++;
                }
            }
            else {
                um = 0;
            }
        }
    }

    cout << ans;

    return 0;
}