最近邓少迷上了一款七个字母的音游。但是邓少的底力不太好,打不动交互,于是他来向你请教。
定义一个长度至少为 的数组 是一个交互,当且仅当以下条件成立:
对于所有满足 的 ,都有 或 成立。(其中 表示数组 的长度)
例如数组 是一个交互,而数组 不是一个交互。
现在,邓少有一个长为 的数组 ,他需要你进行以下三种操作或询问:
1 l r x,表示将 分别加上 。
1 l r x
2 k,询问能满足:
2 k
,且子数组 是一个交互。
这一条件的最长的区间 。
3 l r,询问子数组 是不是交互。
3 l r
第一行包含两个正整数 ,表示 的长度以及操作个数。
接下来一行包含 个整数,表示数组 。
接下来 行,每行包含多个整数,表示一次操作,格式如上所述。
对于每次询问输出一行,代表答案。
对于询问 :
-1
对于询问 :如果询问的区间是一个交互,输出 Yes,否则输出 No。
Yes
No
5 4 1 2 3 4 5 2 4 1 4 5 -3 2 4 3 2 5
-1 2 5 Yes
7 3 1 2 1 2 3 2 3 2 4 1 3 3 1 2 4
1 4 4 7
7 2 16 8 9 7 8 5 9 1 5 7 10 3 1 7
对于所有测试数据,保证: