#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, i, j, ii, jj, ans, temp, distx, disty;
  char tab[30][30];
  int v[30][30];
  scanf("%d%d", &n, &m);
  for (i = 0; i < n; i++) {
    scanf("%s", tab[i]);
  }
  memset(v, 0, sizeof v);
  ans = 0;
  for (i = 0; i < n; i++) {
    for (j = 0; j < m; j++) {
      v[i][j] = (tab[i][j] == '0');
      if (i > 0) {
        v[i][j] += v[i - 1][j];
      }
      if (j > 0) {
        v[i][j] += v[i][j - 1];
      }
      if (i > 0 && j > 0) {
        v[i][j] -= v[i - 1][j - 1];
      }
    }
  }
  for (i = 0; i < n; i++) {
    for (j = 0; j < m; j++) {
      for (ii = i; ii < n; ii++) {
        for (jj = j; jj < m; jj++) {
          temp = v[ii][jj];
          if (i > 0) {
            temp -= v[i - 1][jj];
          }
          if (j > 0) {
            temp -= v[ii][j - 1];
          }
          if (i > 0 && j > 0) {
            temp += v[i - 1][j - 1];
          }
          distx = ii - i + 1;
          disty = jj - j + 1;
          if (temp == distx * disty) {
            ans = max(ans, 2 * distx + 2 * disty);
          }
        }
      }
    }
  }
  printf("%d\n", ans);
  return 0;
}
