#nullable enable #region var (_input, _iter) = (Array.Empty(), 0); T I() where T : IParsable { while (_iter >= _input.Length) (_input, _iter) = (Console.ReadLine()!.Trim().Split(' '), 0); return T.Parse(_input[_iter++], null); } #endregion var h = I(); var w = I(); var g = new int[h + 1, w + 1]; var n = I(); for (var i = 0; i < n; i++) { var r1 = I() - 1; var c1 = I() - 1; var r2 = I(); var c2 = I(); g[r1, c1] += 1; g[r1, c2] -= 1; g[r2, c1] -= 1; g[r2, c2] += 1; } for (var i = 0; i < h; i++) for (var j = 0; j < w; j++) g[i, j + 1] += g[i, j]; for (var i = 0; i < h; i++) for (var j = 0; j < w; j++) g[i + 1, j] += g[i, j]; var ans = 0; for (var i = 0; i < h; i++) for (var j = 0; j < w; j++) if (g[i, j] == 0) ans++; Console.WriteLine(ans);