#CF1936D. D. 按位悖论

D. 按位悖论

时间限制:每个测试点 5 秒
内存限制:每个测试点 1024 MB

给定两个长度为 nn 的数组 aabb,以及一个固定的整数 vv

如果一个区间 [l,r][l, r] 满足 (blbl+1br)v(b_l \mid b_{l+1} \mid \dots \mid b_r) \ge v(其中 \mid 表示按位或运算),则称其为 好区间。好区间的 优美值 定义为 max(al,al+1,,ar)\max(a_l, a_{l+1}, \dots, a_r)

你会收到 qq 个查询,分为两种类型:

  • 1 i x:将 bib_i 赋值为 xx
  • 2 l r:求所有满足 ll0r0rl \le l_0 \le r_0 \le r 的好区间 [l0,r0][l_0, r_0] 中,最小的优美值。如果不存在这样的好区间,输出 1-1

请处理所有查询。

输入格式

每个测试点包含多个测试用例。第一行包含测试用例的数量 tt1t1051 \le t \le 10^5)。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 nnvv1n21051 \le n \le 2 \cdot 10^51v1091 \le v \le 10^9)。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \le a_i \le 10^9)。

第三行包含 nn 个整数 b1,b2,,bnb_1, b_2, \dots, b_n1bi1091 \le b_i \le 10^9)。

第四行包含一个整数 qq1q21051 \le q \le 2 \cdot 10^5)。

接下来的 qq 行,每行描述一个查询。每行的格式为以下两种之一:

  • 1 i x1in1 \le i \le n1x1091 \le x \le 10^9);
  • 2 l r1lrn1 \le l \le r \le n)。

保证所有测试用例的 nn 之和以及 qq 之和均不超过 21052 \cdot 10^5

输出格式

对于每个测试用例,按顺序输出所有第二类查询的答案。

示例

输入

3
3 7
2 1 3
2 2 3
4
2 1 3
1 2 5
2 2 3
2 1 3
4 5
5 1 2 4
4 2 3 3
6
2 1 4
1 3 15
2 3 4
2 2 4
1 2 13
2 1 4
1 5
6
4
1
2 1 1

输出

-1 3 2
5 2 2 1
-1

说明

第一个测试用例
a=[2,1,3], b=[2,2,3], v=7a = [2, 1, 3],\ b = [2, 2, 3],\ v = 7

  • 第一个查询(第二类):l=1, r=3l = 1,\ r = 3。最大的区间是 [1,3][1, 3],其按位或为 b1b2b3=3<7b_1 \mid b_2 \mid b_3 = 3 < 7,因此不存在好区间。
  • 第二个查询:将 b2b_2 改为 55,此时 b=[2,5,3]b = [2, 5, 3]
  • 第三个查询(第二类):l=2, r=3l = 2,\ r = 3。可能的区间有 [2,2], [3,3], [2,3][2, 2],\ [3, 3],\ [2, 3]。但 b2=5<7b_2 = 5 < 7b3=3<7b_3 = 3 < 7,只有区间 [2,3][2, 3] 是好区间:b2b3=7b_2 \mid b_3 = 7。答案为 max(a2,a3)=3\max(a_2, a_3) = 3
  • 第四个查询(第二类):l=1, r=3l = 1,\ r = 3。存在三个好区间:[1,2], [2,3], [1,3][1, 2],\ [2, 3],\ [1, 3],其优美值分别为 2, 3, 32,\ 3,\ 3,因此答案为 22

第二个测试用例
a=[5,1,2,4], b=[4,2,3,3], v=5a = [5, 1, 2, 4],\ b = [4, 2, 3, 3],\ v = 5

  • 第一个查询(第二类):l=1, r=4l = 1,\ r = 4。好区间有 [1,2], [1,3], [1,4][1, 2],\ [1, 3],\ [1, 4],优美值均为 55,答案为 55
    ……(后续类似)