Cho bảng hình chữ nhật có N hàng M cột và một số nguyên dương K. Số nằm ở hàng i cột j có tọa độ là (i, j) và giá trị A_{i, j}. Một con robot đang đứng ở vị trí (1, 1) và cần di chuyển đến ô (N, M). Khi đứng ở ô (i, j) robot chỉ có thể di chuyển vào ba ô (i, j + 1), (i + 1, j), (i + 1, j + 1).
Cho Q truy vấn, mỗi truy vấn gồm một số tự nhiên X (X < K). Với mỗi truy vấn, hãy cho biết đường đi của robot từ ô (1, 1) đến ô (M, N) có thể đi qua nhiều nhất bao nhiêu ô (i, j) thỏa mãn A_{i, j} \mod K = X.
Yêu cầu: Hãy trả lời Q truy vấn của đề bài.
Input, Output và Scoring
Input: (ROBOT.INP
)
- Dòng đầu tiên gồm bốn số nguyên dương N, M, Q, K (1 \le N, M \le 1000, 1 \le Q \le 10^5, 1 \le K \le 10^9).
- Trong N dòng tiếp theo, mỗi dòng gồm M số nguyên dương biểu diễn bảng A (1 \le A_{i, j} \le 10^9).
- Trong Q dòng tiếp theo, mỗi dòng gồm một số tự nhiên X thể hiện truy vấn tương ứng (0 \le X \le K).
Output: (ROBOT.OUT
)
- Gồm Q dòng, dòng thứ i là kết quả của truy vấn thứ i.
Scoring
- 20\% số điểm có M = 1.
- 20\% số điểm khác có M = 2, Q \le 1000.
- 30\% số điểm khác có N, M, K \le 300.
- 30\% số điểm còn lại không có giới hạn gì thêm.
Sample
Input (ROBOT.INP
)
3 4 2 6
1 1 1 7
2 8 9 1
1 3 4 2
1
2
Output (ROBOT.OUT
)
5
3
Bình luận