Cho lưới ô vuông vô hạng gồm các dòng và các cột. Các dòng được đánh số từ \(−\infty, \dots , −2, −1, 0, 1, 2, \dots , \infty\) theo hướng từ dưới lên trên, các cột cũng được đánh số từ \(−\infty, \dots , −2, −1, 0, 1, 2, \dots , \infty\) theo hướng từ trái qua phải.
Tại thời điểm \(𝑇 = 0\); trên mặt lưới cho \(𝑁\) ô vuông tọa độ \((x_1, y_1), (x_2, y_2), \dots , (x_N, y_N)\) có màu đen. Các ô vuông trên lưới có sự thay đổi màu theo quy tắc:
- Nếu một ô tại thời điểm \(𝑇\) có màu đen thì thời điểm \(𝑇 + 1\) sẽ có màu xám.
- Nếu một ô tại thời điểm \(𝑇\) có màu xám thì thời điểm \(𝑇 + 1\) sẽ có màu trắng.
- Nếu một ô tại thời điểm \(𝑇\) có màu trắng thời điểm \(𝑇 + 1\) sẽ có màu đen nếu có ít nhất một trong \(4\) ô kề cạnh có màu đen ở thời điểm \(𝑇\). Ngược lại ô màu trắng đó giữ nguyên màu ở thời điểm \(𝑇 + 1\).
Có \(𝑄\) thời điểm \(T_1, T_2, \dots , T_Q\). Với mỗi thời điểm \(T_j\) hãy đưa ra số ô vuông có màu đen tại thời điểm đó (thời điểm \(T_j\)).
Dữ liệu đầu vào:
- Dòng \(1\) ghi hai số nguyên dương \(𝑁\) và \(𝑄\).
- \(𝑁\) dòng sau, dòng thứ \(𝑖\) ghi tọa độ \(x_i\), \(y_i\) .
- \(Q\) dòng cuối, mỗi dong ghi một số nguyên \(T_j\) \((j = 1, 2, \dots, Q)\).
Kết quả:
- Ghi ra \(𝑄\) dòng là số ô vuông có màu đen thời \(Q\) thời điểm tương ứng.
Giới hạn:
- \(1 \leq N \leq 100 000\); \(1 \leq Q \leq 500 000\);
- \(\left| x_i \right|, \left| y_i \right| ≤ 10^9\); \(1 \leq i \leq N\);
- \((x_i, y_i) \neq (x_j , y_j)\) \(1 \leq i < 𝑗 \leq N\);
- \(0 \leq T_j < T_{j+1} \leq 10^9 \);
Lưu ý: Test yếu + Memory Limit gốc là 1GB nhưng trang này set max chỉ được 512MB