题目描述
给定一个长度为 n 的序列 Ai,下标从 1 开始。对其依次进行 m 次操作或询问,分为 3 种类型:
1 l r x
:将 Al...r 中每个元素二进制与上一个数 x
2 l r x
:将 Al...r 中每个元素二进制或上一个数 x
3 l r
:求 Al...r 中的最小值
输入格式
第一行两个整数 n,m。
接下来一行 n 个整数表示序列 A1,...,An。
接下来 m 行一行表示一个操作或询问,格式如上文所述。
输出格式
对于每个询问,输出一行一个整数表示最小值。
样例
5 4
4 5 1 2 7
3 2 4
1 1 3 3
2 2 5 2
3 2 5
1
2
数据范围与提示
对于所有数据,1≤n,m≤500000,0≤Ai,xi<231。
- 子任务 1(points:20):n,m≤1000
- 子任务 2(points:20):n,m≤10000
- 子任务 3(points:30):n,m≤100000
- 子任务 4(points:30):n,m≤500000