#include <bits/stdc++.h>
using namespace std;
long long int power(long long int x, long long int y, long long int m) {
  if (y == 0) return 1;
  long long int p = power(x, y / 2, m) % m;
  p = (p * p) % m;
  return (y % 2 == 0) ? p : (x * p) % m;
}
long long int nCr(long long int n, long long int r, long long int m) {
  if (r > n) return 0;
  long long int a = 1, b = 1, i;
  for (i = 0; i < r; i++) {
    a = (a * n) % m;
    --n;
  }
  while (r) {
    b = (b * r) % m;
    --r;
  }
  return (a * power(b, m - 2, m)) % m;
}
void solve() {
  int n, m;
  cin >> n >> m;
  int arr[n][m];
  vector<int> rs(n, -1), re(n, -1), cs(m, -1), ce(m, -1);
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < m; ++j) {
      arr[i][j] = 0;
      cin >> arr[i][j];
    }
  }
  int ans = 0;
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < m; ++j) {
      if (arr[i][j] && rs[i] == -1) rs[i] = j;
      if (arr[i][j] && cs[j] == -1) cs[j] = i;
      if (arr[i][j]) {
        re[i] = j;
        ce[j] = i;
      }
    }
  }
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < m; ++j) {
      if (arr[i][j] == 0) {
        if (cs[j] < i && cs[j] != -1) ans++;
        if (ce[j] > i && ce[j] != -1) ans++;
        if (rs[i] < j && rs[i] != -1) ans++;
        if (re[i] > j && re[i] != -1) ans++;
      }
    }
  }
  cout << ans << '\n';
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  solve();
  return 0;
}
