题目描述
有一个长度无限长的自然数序列A,下标从0开始。
初始时所有数均为0。先进行n次修改,然后进行m次查询。
每次修改给出三个数l,r,x,将 Al,A1+1,...,Ar中的每一个数变成它与x的异或值.
每次查询给出一个数字p表示查询Ap的值。
输入描述
第一行输入两个整数n,m(1≤n,m≤104),意义如上文所述。
接下来n行输入3个整数$l,r,x(1\le r,0\le l\le r\le 10^{18},0\le x\le 10^9)$,意义如上文所述。
接下来m行输入1个整数p(0≤p≤1018),意义如上文所述。
输出描述
输出m行每行一个整数,表示答案。
样例
输入
2 2
1 5 1
3 7 2
4
6
输出
3
2
样例解释
初始时所有数均为0第1次修改A1∼A5,x为1,则将A1∼A5的值修改为和1的异或值,
当前序列的为0,1,1,1,1,1,0.......第2次修改A3∼A7,x为2,
则将A3∼A7的值修改为和2的异或值,当前序列的为0,1,1,3,3,3,2.查询A4和A6的值为3和2。