#include <bits/stdc++.h>
int min(int a, int b) {
  if (a > b)
    return b;
  else
    return a;
}
int main() {
  int a[100][100], n, m, i, j, t = 4;
  scanf("%d %d", &n, &m);
  for (i = 1; i <= n; i++) {
    for (j = 1; j <= m; j++) {
      scanf("%d", &a[i][j]);
      if (a[i][j] == 1 && i != 1 && i != n && j != 1 && j != m)
        t = min(t, 4);
      else if (a[i][j] == 1 && ((i == 1 && i != n && j != 1 && j != m) ||
                                (i != 1 && i == n && j != 1 && j != m) ||
                                (i != 1 && i != n && j == 1 && j != m) ||
                                (i != 1 && i != n && j != 1 && j == m)))
        t = min(t, 2);
    }
  }
  printf("%d\n", t);
  return 0;
}
