#P51774. 「LOJ」 区间 or 和

「LOJ」 区间 or 和

题目描述

给定一个序列,支持单点修改,询问满足区间 or\texttt{or}\ge 一个数的区间的最短可能长度。无解输出 -1

输入格式

第一行为 n,qn,q。表示序列长度,操作个数。
接下来一行 nn 个数,表示 a1,a2,,ana_1, a_2, \ldots, a_n
接下来 qq 行,每行形如:
1 i x1\ i\ x 表示将 aia_{i} 修改为 xx
2 k2\ k 表示询问 min{rl+1al or al+1or ark}\min \{r-l+1|a_{l}\ \texttt{or}\ a_{l+1}\ldots\texttt{or}\ a_{r}\ge k\}

输出格式

对于每个询问,输出一行,表示答案。无解输出 -1

样例

2 3
0 2
2 3
1 1 1
2 3
-1
2

数据范围与提示

对于 100%100\% 的数据,0ai,k2300\le a_{i}, k \le 2^{30}n,q50000n,q \le 50000