#include <iostream>
#include <cstdio>

using namespace std;

#define DIM 505

int JosSus[DIM][DIM], SusJos[DIM][DIM], StDr[DIM][DIM];
char Mat[DIM][DIM];

int main() {
    #ifndef ONLINE_JUDGE
    freopen("input.txt","r",stdin);
    #endif // ONLINE_JUDGE

    int N, M;

    cin >> N >> M;

    for(int i = 1; i <= N; ++i) {
        cin >> (Mat[i] + 1);
    }

    for(int i = N; i > 0; --i) {
        for(int j = 1; j <= M; ++j) {
            if(Mat[i][j] == '1') {
                JosSus[i][j] += JosSus[i + 1][j] + 1;
            }
        }
    }

    for(int i = 1; i <= N; ++i) {
        for(int j = 1; j <= M; ++j) {
            if(Mat[i][j] == '1') {
                SusJos[i][j] += SusJos[i - 1][j] + 1;
            }
        }
    }

    for(int j = M; j > 0; --j) {
        for(int i = 1; i <= N; ++i) {
            if(Mat[i][j] == '1') {
                StDr[i][j] += StDr[i][j + 1] + 1;
            }
        }
    }

    int bst = 0;

    for(int i = 1; i <= N; ++i) {
        for(int j = 1; j <= M; ++j) {
            int x = i, y = j;
            int ans = 0;

            if(JosSus[x][y] > 1) {
                ans += JosSus[x][y];
                x += JosSus[x][y] - 1;
            }
            else {
                continue;
            }

            if(StDr[x][y] > 1) {
                ans += StDr[x][y] - 1;
                y += StDr[x][y] - 1;
            }
            else {
                continue;
            }

            if(SusJos[x][y] > 1) {
                ans += SusJos[x][y] - 1;
            }
            else {
                continue;
            }

            bst = max(bst, ans);
        }
    }

    cout << bst << '\n';

    return 0;
}