만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

셀 오토마타

시간 제한6초메모리 제한1024 MB

요약
검은 칸은 인접한 흰 칸을 검게 바꾸고, 시간이 지나면 회색을 거쳐 흰색이 됩니다. 각 질의 시각 T에 검은 칸의 개수를 구합니다.
난이도

어려움10점 중 9점

유형
BFS, 수학, 정렬
정답자
아직 제출이 없습니다

문제

무한히 넓은 2차원 격자가 있다. 격자는 위에서 아래로, 왼쪽에서 오른쪽으로 정사각형 셀로 채워져 있다.

좌표의 원점이 되는 셀이 하나 있다. (x,y)(x, y)는 원점에서 오른쪽으로 xx칸, 위쪽으로 yy칸 이동한 셀을 뜻한다. 왼쪽으로 aa칸은 오른쪽으로 −a-a칸이고, 아래쪽으로 aa칸은 위쪽으로 −a-a칸이다.

시각 00에 (X1,Y1),(X2,Y2),…,(XN,YN)(X_1, Y_1), (X_2, Y_2), \dots, (X_N, Y_N) 셀은 검은색이고, 나머지 셀은 모두 흰색이다.

t=0,1,2,…t = 0, 1, 2, \dots에 대해 시각 t+1t + 1의 셀 색은 시각 tt의 색에 따라 다음과 같이 정해진다.

  • 시각 tt에 검은색인 셀은 시각 t+1t + 1에 회색이 된다.
  • 시각 tt에 회색인 셀은 시각 t+1t + 1에 흰색이 된다.
  • 시각 tt에 흰색인 셀은 변을 공유하는 인접한 4개 셀 중 하나 이상이 시각 tt에 검은색이면 시각 t+1t + 1에 검은색이 된다. 그렇지 않으면 흰색을 유지한다.

QQ개의 질의가 주어진다. jj번째 질의에서는 시각 TjT_j에 검은색인 셀의 개수를 구한다.

입력

첫째 줄에 NN과 QQ가 주어진다.

다음 NN개의 줄에 XiX_i와 YiY_i가 주어진다.

다음 QQ개의 줄에 TjT_j가 주어진다.

출력

QQ개의 줄을 출력한다. jj번째 줄에는 시각 TjT_j에 검은색인 셀의 개수를 출력한다.

제한

  • 1≤N≤100,0001 \le N \le 100{,}000
  • 1≤Q≤500,0001 \le Q \le 500{,}000
  • ∣Xi∣≤109|X_i| \le 10^9 (1≤i≤N1 \le i \le N)
  • ∣Yi∣≤109|Y_i| \le 10^9 (1≤i≤N1 \le i \le N)
  • (Xi,Yi)≠(Xj,Yj)(X_i, Y_i) \ne (X_j, Y_j) (1≤i<j≤N1 \le i < j \le N)
  • 0≤Tj≤1090 \le T_j \le 10^9 (1≤j≤Q1 \le j \le Q)
  • Tj<Tj+1T_j < T_{j+1} (1≤j≤Q−11 \le j \le Q - 1)
  • 주어지는 모든 값은 정수이다.

예제3

  1. 예제 1

    입력
    2 3
    0 2
    1 0
    0
    1
    2
    
    예상 출력
    2
    8
    12
    
  2. 예제 2

    입력
    3 5
    0 0
    2 2
    5 5
    0
    1
    2
    3
    4
    
    예상 출력
    3
    12
    21
    24
    26
    
  3. 예제 3

    입력
    4 10
    -3 -3
    3 3
    -4 4
    4 -4
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    예상 출력
    4
    16
    32
    48
    56
    56
    55
    56
    60
    64