Clue Contest 08 - Tổng bảng con

Xem dạng PDF

Gửi bài giải

Điểm: 26,00
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, PyPy, Python, Scratch, TEXT

Hôm nay, em gái của Bob - tên Alice, vừa tròn bảy tuổi. Chính vì thế, hôm nay, Bob quyết định "tặng" một món quà sinh nhật rất ý nghĩa với Alice - chính là dạy em mình cách tính tổng các số trong phạm vi 100.

Thế nhưng, để bài học đỡ nhàm chán hơn, anh sẽ biến bài giảng của mình thành một tiết có thể vừa chơi, vừa học. Bob cho Alice một chiếc bảng như sau:

Khi anh hô bốn giá trị (với hai giá trị đầu (~i, j~) là tọa độ góc trái trên của bảng con, và (~k, l~) là tọa độ góc phải dưới của bảng con), thì Alice phải tính tổng tất cả các giá trị trong bảng con từ dữ kiện mà anh trai mình cho trước. Ví dụ: Nếu Bob muốn tìm giá trị từ (~1, 1~) đến (~3, 3~) thì Alice phải đưa đáp án là ~108~ (vì ~1 + 2 + 3 + 11 + 12 + 13 + 21 + 22 + 23 = 108~).

Chơi với Alice một hồi, Bob nhận ra rằng bài toán này có thể xây dựng dưới dạng tổng quát. Bài toán ấy như sau:

Cho một bảng có kích thước ~m \times n~, đánh số từ 1 đến ~m \times n~ theo thứ tự lần lượt từ trái sang phải, từ trên xuống dưới. Alice có ~q~ lượt chơi. Với mỗi lượt chơi, Bob sẽ đưa ra 4 số ~i, j, k, l~ với (~i, j~) là tọa độ góc trái trên của bảng con, và (~k, l~) là góc phải dưới của bảng con. Nhiệm vụ của Alice là với mỗi lượt chơi, cô phải đưa ra chính xác tổng tất cả giá trị trong bảng con từ dữ kiện mà anh trai mình cho trước.

Input

  • Dòng đầu tiên nhập vào hai số nguyên dương ~m, n~ (~1 \le m, n \le 10^9~) với ~m~ là số hàng của bảng, ~n~ là số cột của bảng.
  • Dòng tiếp theo nhập vào số nguyên dương ~q~ (~1 \le q \le 10^6~).
  • ~q~ dòng tiếp theo, mỗi dòng bao gồm bốn số ~i~ ~j~ ~k~ ~l~ (~1 \le i \le k \le m~, ~1 \le j \le l \le n~), với (~i, j~) là tọa độ góc trái trên của bảng con, và (~k, l~) là góc phải dưới của bảng con.

Output

Để giảm kích thước đầu ra:

  • Gọi ~ans_i~ là đáp án của Alice đưa ra khi chia dư cho ~10^9 + 21~.
  • Hãy in ra ~ans_1~ ~XOR~ ~ans_2~ ~XOR~ ~ans_3~ ~XOR~ ... ~XOR~ ~ans_q~.

Sample Input

10 10
2
1 1 3 3
2 2 2 3

Sample Output

117

Giải thích: Ở ví dụ thứ hai, Alice sẽ tính ~12 + 13 = 25~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.