#CF2115F1. 水母与彼岸花(简单版)

水母与彼岸花(简单版)

F1. 水母与彼岸花(简单版)
时间限制:33
内存限制:10241024 MB

这是该问题的简单版本。与另一个版本的区别在于,本版本的时间限制以及 n,qn, q 的约束更低。只有解决了本题所有版本的选手才能进行 Hack。


水母有一个由 nn 个集合构成的数组。初始时所有集合为空。

接下来水母会进行 qq 次操作。每次操作包含 一个修改操作一个查询操作。对于第 ii 次操作(1iq1 \le i \le q):

首先进行一个修改操作,可能是以下三种之一:

  1. 插入操作:给定一个整数 rr。将元素 ii(即当前操作的编号)插入到第 11 个到第 rr 个集合中。注意,插入的元素是操作编号 ii,而不是集合的编号。
  2. 反转操作:给定一个整数 rr。将第 11 到第 rr 个集合的顺序反转。
  3. 删除操作:给定一个整数 xx。从所有包含 xx 的集合中删除元素 xx

然后进行一个查询操作:给定一个整数 pp,输出第 pp 个集合中的最小元素(如果第 pp 个集合为空,则答案为 00)。


附加约束
水母只会在前一次查询操作被回答后,才给出下一次操作。也就是说,本题需要在线解决。具体输入格式参见下文。


输入格式
第一行包含两个整数 n,qn, q1n,q1051 \le n, q \le 10^5)—— 集合个数与操作次数。

由于需要在线回答操作,操作会以编码形式给出。

接下来的 qq 行中,第 ii 行包含三个整数 a,b,ca, b, c1a31 \le a \le 31cn1 \le c \le n),表示第 ii 次操作的编码形式。

  • aa 表示修改操作的类型:

    • a=1a=1 表示插入操作
    • a=2a=2 表示反转操作
    • a=3a=3 表示删除操作
  • a=1a=1,则保证 1bn1 \le b \le n,且 rr 通过下式计算:

    r=(b+ansi11)modn+1r = (b + ans_{i-1} - 1) \bmod n + 1
  • a=2a=2,则保证 1bn1 \le b \le n,且 rr 通过下式计算:

    r=(b+ansi11)modn+1r = (b + ans_{i-1} - 1) \bmod n + 1
  • a=3a=3,则保证 1bq1 \le b \le q,且 xx 通过下式计算:

    x=(b+ansi11)modq+1x = (b + ans_{i-1} - 1) \bmod q + 1
  • 对于查询操作,pp 通过下式计算:

    p=(c+ansi11)modn+1p = (c + ans_{i-1} - 1) \bmod n + 1

其中 ansians_i1iq1 \le i \le q)表示第 ii 次操作中查询操作的答案。另外,我们规定 ans0=0ans_0 = 0


输出格式
对于每次查询操作,输出对应的答案。


样例输入

5 10
1 2 2
2 3 1
1 5 3
2 2 5
1 5 2
2 4 4
3 2 2
3 1 2
3 10 5
3 2 4

样例输出

1
0
1
1
3
1
0
5
0
0

样例解释(解码后的操作序列)

初始时所有集合为空:[{},{},{},{},{}][\{\}, \{\}, \{\}, \{\}, \{\}]

  1. a=1,r=2,p=2a=1, r=2, p=2:插入操作,将元素 11 插入前两个集合 → [{1},{1},{},{},{}][\{1\}, \{1\}, \{\}, \{\}, \{\}],第 22 个集合最小元素为 11
  2. a=2,r=4,p=2a=2, r=4, p=2:反转操作,反转前 44 个集合 → [{},{},{1},{1},{}][\{\}, \{\}, \{1\}, \{1\}, \{\}],第 22 个集合为空 → 00
  3. a=1,r=5,p=3a=1, r=5, p=3:插入操作,将元素 33 插入所有集合 → [{3},{3},{1,3},{1,3},{3}][\{3\}, \{3\}, \{1,3\}, \{1,3\}, \{3\}],第 33 个集合最小元素为 11
  4. a=2,r=3,p=1a=2, r=3, p=1:反转操作,反转前 33 个集合 → [{1,3},{3},{3},{1,3},{3}][\{1,3\}, \{3\}, \{3\}, \{1,3\}, \{3\}],第 11 个集合最小元素为 11
  5. a=1,r=1,p=3a=1, r=1, p=3:插入操作,将元素 55 插入第 11 个集合 → [{1,3,5},{3},{3},{1,3},{3}][\{1,3,5\}, \{3\}, \{3\}, \{1,3\}, \{3\}],第 33 个集合最小元素为 33
  6. a=2,r=2,p=2a=2, r=2, p=2:反转操作,反转前 22 个集合 → [{3},{1,3,5},{3},{1,3},{3}][\{3\}, \{1,3,5\}, \{3\}, \{1,3\}, \{3\}],第 22 个集合最小元素为 11
  7. a=3,x=3,p=3a=3, x=3, p=3:删除操作,删除所有集合中的 33[{},{1,5},{},{1},{}][\{\}, \{1,5\}, \{\}, \{1\}, \{\}],第 33 个集合为空 → 00
  8. a=3,x=1,p=2a=3, x=1, p=2:删除操作,删除所有集合中的 11[{},{5},{},{},{}][\{\}, \{5\}, \{\}, \{\}, \{\}],第 22 个集合最小元素为 55
  9. a=3,x=5,p=5a=3, x=5, p=5:删除操作,删除所有集合中的 55[{},{},{},{},{}][\{\}, \{\}, \{\}, \{\}, \{\}],第 55 个集合为空 → 00
  10. a=3,x=2,p=4a=3, x=2, p=4:删除操作,删除所有集合中的 22[{},{},{},{},{}][\{\}, \{\}, \{\}, \{\}, \{\}],第 44 个集合为空 → 00

注意:虽然我们并未在任何集合中插入过 22,但第 1010 次操作仍然删除 22,这说明删除操作并不要求待删除元素一定存在于某个集合中。另外,也可能出现多次删除同一元素的操作。