#P100151. CC 的异或

CC 的异或

题目描述

CC 最近学习了数组的相关内容,构造出了一个很奇怪的数组,然后提出了一些问题。可是由于 CC 实在是太菜了,根本切不动这道题,因此,需要你来帮他。

这是一个 (n+1)×(n+1)(n + 1) \times (n + 1) 的数组,有 qq 次询问,每次给定四个数,求这个子矩阵的异或和。

数组的构造方法如下:

  • 行和列编号从 0n0 \sim n
  • 对于所有 0in0 \leq i \leq n,有 ai,0=a0,i=1a_{i,\, 0}=a_{0,\, i}=1
  • 对于所有 1i,jn1 \leq i, j \leq n 有,ai,j=ai1,jai,j1a_{i,\, j} = a_{i - 1,\, j} \oplus a_{i,\, j- 1}

输入格式

输入第一行两个数,nnqq ,含义与上述题面相同。

接下来 qq 行,给定四个整数 x1,y1,x2,y2x_1,\,y_1,\,x_2,\,y_2 ,表示询问 (x1,y1)(x2,y2)(x_1,\, y_1) \sim (x_2,\, y_2) 这个子矩阵的异或和。

输出格式

输出 qq 行,每行一个整数,表示询问的答案。

样例

6 6
4 1 6 4
1 1 6 1
4 3 5 4
6 5 6 5
4 3 6 3
5 1 6 4
1
1
1
0
1
0

提示

温馨提醒

题目输入量较大,请自行使用较快的输入输出方式。

样例解释

构造出来的数组如下:

1 1 1 1 1 1 1
1 0 1 0 1 0 1
1 1 0 0 1 1 0
1 0 0 0 1 0 0
1 1 1 1 0 0 0
1 0 1 0 0 0 0
1 1 0 0 0 0 0

数据范围

对于 20%20 \,\% 的数据 1n,q1001 \leq n,\, q \leq 100

对于 60%60\, \% 的数据 1n,q2×1031 \leq n,\, q \leq 2 \times 10^3

对于 100%100 \, \% 的数据 1n10181 \leq n \leq 10^{18}1q5×1051 \leq q \leq 5 \times 10^51x1,y1,x2,y2n1 \leq x_1,\,y_1,\,x_2,\,y_2 \leq n