第一行,一个整数 t(1≤t≤104),代表数据组数。
对于每组数据:
第一行,三个整数 n,q,p(1≤n≤3⋅105;1≤q≤3⋅105;109−107≤p≤109+107),分别代表无限序列的循环周期,询问的次数和操作二的模数,保证 p 是一个质数。
第二个,n 个整数 a1,…,an(1≤ai≤109),代表无限循环序列的前 n 个数字。
接下来连续的 q 行,每行现有一个整数 op(1≤op≤2),代表操作的类型。如果 op=1,那么接下来有两个整数 i,j(1≤i,j≤n),代表交换无限循环序列的前 n 个数字中的 ai 和 aj(后面所有周期中的数字也会被交换)。如果 op=2,那么接下来仅有一个数字 x(1≤x≤2⋅109),代表询问将无限循环序列的前 x 个数字拼接在一起后对于 p 取模的结果是多少。
保证对于每组数据,第一个询问的操作类型 op=2。
保证同一测试点内 n 和 q 的和均不会超过 3⋅105。