const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
const [row, tate] = (await readline()).split(" ").map(Number);
const matrix = [];
for (let i = 0; i < row; i++) {
matrix.push((await readline()).split(" ").map(Number));
}
let res = 0;
const bfs = (i, j) => {
const queue = [[i, j]];
const offsets = [
[-1, 0],
[1, 0],
[0, 1],
[0, -1],
];
while (queue.length > 0) {
const [x, y] = queue.shift();
for (const [dx, dy] of offsets) {
const nx = x + dx;
const ny = y + dy;
if (
nx >= 0 &&
nx < row &&
ny >= 0 &&
ny < tate &&
matrix[nx][ny] == 0
) {
matrix[nx][ny] = 1;
queue.push([nx, ny]);
}
}
}
};
bfs(0, 0);
for (let i = 0; i < row; i++) {
for (let j = 0; j < tate; j++) {
if (matrix[i][j] !== 1) res++;
}
}
console.log(res);
})();