직사각형 시트의 합집합 넓이와 둘레

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

평면 위에 직사각형 모양의 시트가 여러 장 놓여 있다. 이 시트들로 덮인 영역의 넓이 또는 둘레 길이를 구하는 프로그램을 작성하여라.

평면을 좌표평면으로 볼 때, 시트의 배치는 다음 두 조건을 만족한다.

  1. 각 시트(직사각형)의 네 꼭짓점의 $x$, $y$ 좌표는 모두 $0$ 이상 $10000$ 이하의 정수이며, 직사각형의 각 변은 $x$축 또는 $y$축에 평행하다.
  2. 시트의 개수는 최대 $10000$장이다.

여러 시트는 서로 겹칠 수 있으며, 겹친 부분의 넓이는 한 번만 센다. 둘레 길이는 덮인 영역 전체 경계의 총 길이이며, 영역 내부에 생기는 구멍의 경계도 포함한다.

입력

첫째 줄에 직사각형의 개수 $n$과 질의의 종류를 나타내는 정수 $r$가 공백으로 구분되어 주어진다. 둘째 줄부터 $n$개의 줄에 걸쳐, 각 시트의 왼쪽 아래 꼭짓점 좌표 $(x_1, y_1)$과 오른쪽 위 꼭짓점 좌표 $(x_2, y_2)$가 $x_1$, $y_1$, $x_2$, $y_2$의 순서로 공백으로 구분되어 주어진다.

출력

$r = 1$이면 첫째 줄에 덮인 영역의 넓이를 출력한다. $r = 2$이면 첫째 줄에 넓이를, 둘째 줄에 둘레의 길이를 출력한다. 어느 경우든 마지막에 개행 문자를 출력한다.