#P1851. 超长序列

超长序列

题目描述

有一个长度无限长的自然数序列AA,下标从00开始。

初始时所有数均为00。先进行nn次修改,然后进行mm次查询。

每次修改给出三个数l,r,xl,r,x,将 Al,A1+1,...,ArA_l,A_{1+1},...,A_r中的每一个数变成它与xx的异或值.

每次查询给出一个数字pp表示查询ApA_p的值。

输入描述

第一行输入两个整数n,m(1n,m104)n,m(1\le n,m\le 10^4),意义如上文所述。

接下来nn行输入33个整数$l,r,x(1\le r,0\le l\le r\le 10^{18},0\le x\le 10^9)$,意义如上文所述。

接下来mm行输入11个整数p(0p1018)p(0\le p\le 10^{18}),意义如上文所述。

输出描述

输出mm行每行一个整数,表示答案。

样例

输入

2 2
1 5 1
3 7 2
4
6

输出

3
2

样例解释

初始时所有数均为0011次修改A1A5xA_1\sim A_5,x11,则将A1A5A_1\sim A_5的值修改为和11的异或值,

当前序列的为0,1,1,1,1,1,0.......0,1,1,1,1,1,0.......22次修改A3A7,xA_3\sim A_7,x22

则将A3A7A_3\sim A_7的值修改为和22的异或值,当前序列的为0,1,1,3,3,3,20,1,1,3,3,3,2.查询A4A_4A6A_6的值为3322