class Solution {
public:
    int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
        return (C - A) * (D - B) + (G - E) * (H - F) - overlap(A, C, E, G) * overlap(B, D, F, H);
    }
    
private:
    int overlap(int A, int B, int C, int D)
    {
        if(B <= C || A >= D)return 0;
        return min(B, D) - max(A, C);
    }
};