정사각형 칠하기

무한한 흰 캔버스에서 매 단계마다 주어진 중심에 대해 한 변의 길이가 D 이하인 가장 큰 단색 정사각형을 골라 색을 뒤집는다. 모든 단계가 끝난 뒤 검은 영역의 넓이를 구한다.

어려움8기하분할 정복시뮬레이션구현아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

어떤 화가가 무한히 넓은 캔버스에 그림을 그린다. 캔버스는 좌표평면이고, 처음에는 전체가 흰색이다. 화가는 다음 과정을 NN번 반복한다.

  • 정수 좌표 (x,y)(x, y)를 하나 고른다.
  • (x,y)(x, y)를 중심으로 하고 각 변이 좌표축과 평행한 정사각형 중에서, 변의 길이가 DD 이하이면서 내부가 한 가지 색으로만 칠해져 있는 가장 큰 정사각형을 찾는다.
  • 찾은 정사각형이 흰색이었으면 전체를 검은색으로, 검은색이었으면 전체를 흰색으로 다시 칠한다.

(x,y)(x, y)가 두 색의 경계 위에 있으면 그 점을 중심으로 하는 정사각형은 변의 길이가 양수인 한 항상 두 색을 함께 포함한다. 이때는 아무것도 칠하지 않고 다음 단계로 넘어간다.

그림이 완성된 뒤 검은색으로 칠해진 부분의 넓이를 구하는 프로그램을 작성하시오. 나중에 흰색으로 덮인 부분은 넓이에 넣지 않는다.

위 그림은 첫 번째 예제가 진행되는 과정을 보여준다.

입력

첫째 줄에 두 자연수 NNDD가 주어진다 (1N10001 \le N \le 1000, 2D1062 \le D \le 10^6). NN은 화가가 정사각형을 칠하는 횟수이고, DD는 정사각형 한 변의 최대 길이이다. DD는 짝수이다.

다음 NN개의 줄에는 각 단계에서 고른 중심의 좌표 XXYY가 순서대로 주어진다 (106X,Y106-10^6 \le X, Y \le 10^6).

출력

검은색으로 칠해진 부분의 전체 넓이를 첫째 줄에 출력한다.