피자 커터
면접 대비시간 제한2초메모리 제한512 MB
H개의 오른쪽 향한 절단과 V개의 위쪽 향한 절단의 끝점 좌표가 주어질 때, 절단이 만드는 피자 조각 수를 역방향 교차 쌍 개수와 오일러 공식으로 구합니다.
문제
주세페 할아버지는 피자용 회전식 커터를 선물로 받았다. 기념으로 손자들을 위해 거대한 직사각형 피자를 구웠다! 그는 늘 피자를 연속적인 선, 꼭 직선일 필요는 없는 선을 따라 잘라 조각을 나누었는데, 자르는 방식은 두 가지였다. 어떤 자르기는 피자의 왼쪽 경계에서 시작해 오른쪽으로 단조롭게 진행하여 오른쪽 경계에서 끝나고, 다른 자르기는 아래쪽 경계에서 시작해 위쪽으로 단조롭게 진행하여 위쪽 경계에서 끝난다. 그런데 주세페 할아버지는 늘 한 가지 성질을 지켰다. 같은 종류의 두 자르기는 절대 서로 교차할 수 없다. 왼쪽 그림은 두 종류에서 각각 두 개씩, 총 네 개의 자르기로 피자를 9조각으로 나눈 예를 보여 준다.

주세페 할아버지는 기하학, 위상수학, 조합론 같은 것을 무척 좋아한다. 그래서 아이들에게 같은 수의 자르기로 더 많은 조각을 얻을 수 있다는 것을 보여 주기로 했다. 같은 종류의 자르기끼리 교차하도록 허용하면 가능하다. 예를 들어 오른쪽 그림은 왼쪽에서 오른쪽으로 가는 두 자르기가 서로 교차할 수 있을 때 피자가 10조각으로 나뉜다는 것을 보여 준다.
주세페 할아버지는 그 성질을 버렸지만, 아무렇게나 자르지는 않는다. 자르기는 두 종류 중 하나이며, 다음 조건도 따른다.
- 두 자르기는 많아야 한 점에서 만나고, 만난다면 그 점에서 두 자르기가 교차한다.
- 세 자르기가 한 점에서 만나지 않는다.
- 두 자르기는 피자의 경계에서 만나지 않는다.
- 자르기는 피자의 모서리와 만나지 않는다.
각 자르기의 시작점과 끝점이 주어질 때, 주세페 할아버지의 자르기로 생기는 조각 수를 계산하는 프로그램을 작성하시오.
입력
첫째 줄에 두 정수 X와 Y가 주어진다. (1 ≤ X, Y ≤ 10^9) 이는 피자의 오른쪽 위 모서리 좌표 (X, Y)이다. 왼쪽 아래 모서리는 항상 (0, 0)이다. 둘째 줄에 두 정수 H와 V가 주어진다. (1 ≤ H, V ≤ 10^5) H는 왼쪽에서 오른쪽으로 가는 자르기의 수, V는 아래에서 위로 가는 자르기의 수이다. 다음 H개 줄에는 각각 두 정수 Y1과 Y2가 주어지며, 이는 왼쪽 변의 Y1에서 오른쪽 변의 Y2로 가는 자르기가 피자의 수직 변과 만나는 y좌표를 나타낸다. 그다음 V개 줄에는 각각 두 정수 X1과 X2가 주어지며, 이는 아래쪽 변의 X1에서 위쪽 변의 X2로 가는 자르기가 피자의 수평 변과 만나는 x좌표를 나타낸다.
출력
자르기로 생기는 조각 수를 나타내는 정수를 한 줄에 출력한다.