# 座標圧縮解法 H, W, N = map(int, input().split()) R = [0, H] C = [0, W] queries = [] for _ in range(N): r1, c1, r2, c2 = map(int, input().split()) r1 -= 1 c1 -= 1 queries.append((r1, c1, r2, c2)) R.append(r1) R.append(r2) C.append(c1) C.append(c2) R = sorted(list(set(R))) C = sorted(list(set(C))) R_map = {v: i for i, v in enumerate(R)} C_map = {v: i for i, v in enumerate(C)} h = len(R) w = len(C) grid = [[0] * w for _ in range(h)] for r1, c1, r2, c2 in queries: grid[R_map[r1]][C_map[c1]] += 1 grid[R_map[r1]][C_map[c2]] -= 1 grid[R_map[r2]][C_map[c1]] -= 1 grid[R_map[r2]][C_map[c2]] += 1 for i in range(h): for j in range(1, w): grid[i][j] += grid[i][j-1] for j in range(w): for i in range(1, h): grid[i][j] += grid[i-1][j] ans = 0 for i in range(h - 1): for j in range(w - 1): if grid[i][j] == 0: ans += (R[i+1] - R[i]) * (C[j+1] - C[j]) print(ans)