#include <bits/stdc++.h>
int opr(int ar[100][100], int x, int y, int z, int t, int n, int m) {
  int q, w, fl = 0;
  for (q = x; q <= z; q++) {
    for (w = y; w <= t; w++) {
      if (ar[q][w] != 0) fl = 1;
    }
  }
  if (fl == 1)
    return 0;
  else
    return (2 * (z - x + t - y + 2));
}
int main() {
  int a[100][100], b[205] = {0}, n, m, min = 1;
  scanf("%d %d", &n, &m);
  for (int i = 0; i < n; i++) {
    for (int k = 0; k < m; k++) {
      scanf("%1d", &a[i][k]);
    }
  }
  for (int i = 0; i < n; i++) {
    for (int k = 0; k < m; k++) {
      for (int j = i; j < n; j++) {
        for (int t = k; t < m; t++) {
          if (opr(a, i, k, j, t, n, m) > 0 && opr(a, i, k, j, t, n, m) > min) {
            min = opr(a, i, k, j, t, n, m);
          };
        }
      }
    }
  }
  printf("%d", min);
}
