3496.Iahub and Xors

Time Limit: 1s Memory Limit: 256MB

Iahub does not like background stories, so he'll tell you exactly what this problem asks you for.

You are given a matrix a with n rows and n columns. Initially, all values of the matrix are zeros. Both rows and columns are 1-based, that is rows are numbered 1, 2, ..., n and columns are numbered 1, 2, ..., n. Let's denote an element on the i-th row and j-th column as ai,j.

We will call a submatrix (x0,y0,x1,y1) such elements ai,j for which two inequalities hold: x0 \le i \le x1, y0 \le j \le y1.

Write a program to perform two following operations:
Query(x0, y0, x1, y1): print the xor sum of the elements of the submatrix (x0,y0,x1,y1). Update(x0, y0, x1, y1, v): each element from submatrix (x0,y0,x1,y1) gets xor-ed by value v.

Input Format(From the terminal/stdin)

The first line contains two integers: n (1 \le n \le 1000) and m (1 \le m \le 105). The number m represents the number of operations you need to perform. Each of the next m lines contains five or six integers, depending on operation type.

If the i-th operation from the input is a query, the first number from i-th line will be 1. It will be followed by four integers x0, y0, x1, y1. If the i-th operation is an update, the first number from the i-th line will be 2. It will be followed by five integers x0, y0, x1, y1, v.

It is guaranteed that for each update operation, the following inequality holds: 0 \le v \lt 262. It is guaranteed that for each operation, the following inequalities hold: 1 \le x0 \le x1 \le n, 1 \le y0 \le y1 \le n.

Output Format(To the terminal/stdout)

For each query operation, output on a new line the result.

Sample Input

Copy
3 5
2 1 1 2 2 1
2 1 3 2 3 2
2 3 1 3 3 3
1 2 2 3 3
1 2 2 3 2
 · \n
 · · · · · \n
 · · · · · \n
 · · · · · \n
 · · · · \n
 · · · · \n

Sample Output

Copy
3
2
 \n
 \n

Hints

After the first 3 operations, the matrix will look like this:

1 1 2
1 1 2
3 3 3

The fourth operation asks us to compute 1 xor 2 xor 3 xor 3 = 3.

The fifth operation asks us to compute 1 xor 3 = 2.

Submit

请先 登录

© 2025 FAQs