蚯蚓幼儿园有
所有蚯蚓用从
神刀手将会依次进行
- 给出
和 ,令 号蚯蚓与 号蚯蚓所在的两个队伍合并为一个队伍,具体来说,令 号蚯蚓紧挨在 号蚯蚓之后,其余蚯蚓保持队伍的前后关系不变。 - 给出
,令 号蚯蚓与紧挨其后的一只蚯蚓分离为两个队伍,具体来说,在分离之后, 号蚯蚓在其中一个队伍的队尾,原本紧挨其后的那一只蚯蚓在另一个队伍的队首,其余蚯蚓保持队伍的前后关系不变。 - 给出一个正整数
和一个长度至少为 的数字串 ,对于 的每个长度为 的连续子串 (这样的子串共有 个,其中 为 的长度),定义函数 ,询问所有这些 的乘积对 取模后的结果。其中 的定义如下:
对于当前的蚯蚓队伍,定义某个蚯蚓的向后
而
输入格式
从标准输入读入数据。
输入文件的第一行有两个正整数
第二行包含
接下来
1 i j
( )表示:令 号与 号蚯蚓所在的两个队伍合并为一个队伍,新队伍中, 号蚯蚓紧挨在 号蚯蚓之后。保证在此操作之前, 号蚯蚓在某个队伍的队尾, 号蚯蚓在某个队伍的队首,且两只蚯蚓不在同一个队伍中。2 i
( )表示:令 号蚯蚓与紧挨其后一个蚯蚓分离为两个队伍。保证在此操作之前, 号蚯蚓不是某个队伍的队尾。3 s k
( 为正整数, 为一个长度至少为 的数字串)表示:询问 的每个长度为 的子串 的 的乘积,对 取模的结果。 的定义见题目描述。
同一行输入的相邻两个元素之间,用恰好一个空格隔开。
输入文件可能较大,请不要使用过于缓慢的读入方式。
输出格式
输出到标准输出。
依次对于每个形如 3 s k
的操作,输出一行,仅包含一个整数,表示询问的结果。
样例一
input
5 9 3 1 3 5 3 3 333135 2 3 333135 1 1 1 3 1 2 5 1 3 2 1 5 4 3 333135 2 3 333135 1 3 333135 3
output
0 81 1 81 0
explanation
第一次询问:由于每个队伍均只有一只蚯蚓,所以没有任何蚯蚓有向后
第二次询问:每个队伍仍只有一只蚯蚓,每只蚯蚓的向后
接下来进行了若干次队伍的合并操作,使得所有蚯蚓合并成了一个队伍,这个队伍从前到后的蚯蚓依次为:
第三次询问:
第四次询问:虽然队伍的排列方式改变了,但是每只蚯蚓的向后
第五次询问:
样例二
input
2 10 6 6 3 666666 1 1 1 2 3 666666 2 3 666666 4 3 666666666666666666666666666666 1 2 1 1 2 1 3 666666 2 3 666666 4 3 666666666666666666666666666666 1
output
64 1 0 75497471 1 0 75497471
explanation
对于第四次、第七次询问,输入的
样例三
见样例数据下载。
该组样例的数据范围同第 5 个测试点。
样例四
见样例数据下载。
该组样例的数据范围同第 10 个测试点。
样例五
见样例数据下载。
该组样例的数据范围同第 15 个测试点。
样例六
见样例数据下载。
该组样例的数据范围同第 20 个测试点。
限制与约定
保证
设
设 2 i
的操作的次数,则
每个测试点的详细信息见下表:
测试点编号 | 全为 1 | |||||
---|---|---|---|---|---|---|
1 | No | |||||
2 | ||||||
3 | ||||||
4 | ||||||
5 | ||||||
6 | ||||||
7 | Yes | |||||
8 | No | |||||
9 | ||||||
10 | ||||||
11 | ||||||
12 | ||||||
13 | Yes | |||||
14 | No | |||||
15 | ||||||
16 | ||||||
17 | ||||||
18 | ||||||
19 | ||||||
20 | ||||||
21 | Yes | |||||
22 | No | |||||
23 | ||||||
24 | ||||||
25 |
如果一个测试点的 “全为 1” 的一列为 “Yes”,表示该测试点的所有蚯蚓的长度均为
时间限制:
空间限制: