Nephren Ruq Insania

题目背景

本题和 [P3934 [Ynoi2016]炸脖龙I](https://www.luogu.com.cn/problem/P3934) 完全一致,但为了赛题的一致性,展示题面而不予提交。 [Ynoi2016]炸脖龙I 题面备份 https://www.luogu.org/discuss/show/45962 大样例下发链接: https://pan.baidu.com/s/1nuVpRS1 密码: sfxg **注意:本题大样例4的输出文件修改为 https://pan.baidu.com/s/1bUWuZW** 奈芙莲·卢可·印萨尼亚(Nephren-Ruq-Insania) ![](https://cdn.luogu.com.cn/upload/pic/9256.png) 同为妖精仓库的成体妖精兵,天赋不如珂朵莉一般,只是一个平凡的妖精. 睡觉时如同毯子一般在威廉身上为其保暖。习惯于粘着威廉,在梦境中与艾尔梅莉亚交谈时,自称就像是威廉的宠物一样。 ![](https://cdn.luogu.com.cn/upload/pic/9257.png) 本题题面中含有大量的剧透,建议做题之前将这部番剧看完(

题目描述

她只是一个非常普通的黄金妖精。 在援救打捞队的作战中,他们不幸与(几乎是所有的)第六兽相遇了。 此时的珂朵莉因为接触到星神艾露可本体,正处于昏迷之中。而威廉也无法离开珂朵莉。 ![](https://cdn.luogu.com.cn/upload/pic/9258.png) 默默守护在房间外的她,提起圣剑,走向了战场。 ![](https://cdn.luogu.com.cn/upload/pic/9259.png) 作为本身天赋只是一般的妖精少女,她难以对抗无数倍于自己的六号兽。 没有多久,她开始体力不支。 终于,在源源不断的六号兽面前,她难以抵挡了…… ![](https://cdn.luogu.com.cn/upload/pic/9261.png) 终于,由于魔力过度激发,她已经处在了魔力失控的边缘…… ”威廉,拯救,是我们黄金妖精的使命。“ ”况且,威廉之前已经救过我们了。“ ”所以,已经没有问题了。“ ![](https://cdn.luogu.com.cn/upload/pic/9262.png) 威廉想要救下奈芙莲,但是他自己也已经处于崩溃的边缘。 冥冥之中他想起了曾经学习过的一种魔法。在这最后一刻,或许已经是唯一的办法了。 这种魔法操作的对象是一个咒语组成的序列,每一个单独的咒语拥有自己的法力值。 威廉需要不断地按照之前的记忆,对某一段区间的法力值加上一个数,或者求出某一段区间的法咒共鸣。 法咒共鸣具体而言是这么计算的: 对于区间$[l,r]$, 查询 $ a[l]^{a[l+1]^{a[l+2]^{.....}}} \bmod \ p$,一直到 $ a[r] $ 请注意每次的模数不同。 时间不够了,威廉自己无力计算这么复杂的魔法。但是这是最后的希望了。 能否拯救奈芙莲,就靠您了。 ![](https://cdn.luogu.com.cn/upload/pic/9263.png)

输入输出格式

输入格式


第一行两个整数$n,m$,表示序列长度和操作数。 接下来一行,$n$个整数$a_i$表示这个序列。 接下来$m$行,可能是以下两种操作之一: - `1 l,r,x`,表示区间$[l,r]$加上$x$ - `2 l,r,p` ,表示进行一次法咒共鸣,模数为$p$

输出格式


对于每个操作2,输出一行表示答案。

输入输出样例

输入样例 #1

2 5
6 6
1 3 1 1 3 2 
2 3 3 2 1 1 
1 1 1
1 1 2
1 1 2
1 1 1
1 1 1

输出样例 #1

1
3
1

说明

测试点   |n的范围    | m的范围    | 特殊限制 -|-|-|- 1| $n = 5 $ |$m = 5 $ |$a_i \le 3$ 2| $n = 1000 $ |$m = 1000 $ |查询区间长度为1 3| $n = 100000$ |$m = 100000$ |查询区间长度为1 4| $n = 1000 $ |$m = 1000 $ |查询区间长度不大于2 5| $n = 100000$ |$m = 100000$ |查询区间长度不大于2 6| $n = 1000 $ |$m = 1000 $ |$a_i \le 2$ 7| $n = 1000 $ |$m = 1000 $ |$p = 2$ 8| $n = 100000$ |$m = 100000$ |$p = 2$ 无修改 9| $n = 1000 $ |$m = 1000 $ |$p \le 100000$ 无修改 10| $n = 500000$ |$m = 500000$ |无 对于100%的数据,$n , m \le 500000$ , 序列中每个数在$[1,2\cdot 10^9]$内,$p \le 2 \cdot 10^7 $, 每次加上的数在$[0,2\cdot 10^9]$内 ![](https://cdn.luogu.com.cn/upload/pic/9264.png) ![](https://cdn.luogu.com.cn/upload/pic/9387.png)