Logo 邂逅编程之美

UOJ

时间限制:3 s 空间限制:256 MB
统计

SS80194 小朋友极其喜欢序列操作。
由于一些特殊的原因,他对于 42 以及它的次幂有着特殊的厌恶情绪,即 $(1, 42, 1764, 42^3,…)$ 被称作坏的数,其他数都称作好的数。
他现在手里有一个长为 n 的序列 a(保证序列原来的数全部不是坏的数),他希望你能帮他完成 q次操作:
1 i 查询 ai
2 l r x 将 al∼r 赋值为一个好的数 x
3 l r x 将 al∼r 都加上 x,只要存在一个 ai 还是坏的就继续对 al∼r 全部加上 x
样例 1

输入:
6 12
40 1700 7 1672 4 1722
3 2 4 42
1 2
1 3
3 2 6 50
1 2
1 4
1 6
2 3 4 41
3 1 5 1
1 1
1 3
1 5
输出:
1742
49
1842
1814
1822
43
44
107
数据范围 对于 20% 的数据,n, q ≤ 1000;
对于 40% 的数据,n, q ≤ 10000;
对于 100% 的数据,n, q ≤ 1 · 10^5, ai, x ≤ 10^9。