猪猪养成计划1
题号:NC286096
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

\hspace{15pt}Tobo 养了 n 只猪猪,猪猪们的编号为 1 \sim n 。我们规定两种操作:
{\hspace{20pt}}_\texttt{1.}\,对于给定的 l, r ,表示 Tobo 要和编号为 lr 的猪猪按顺序玩耍,但因为 Tobo 喜新厌旧,所以已经玩耍过的猪猪不会再一起玩,会直接跳过它。
{\hspace{20pt}}_\texttt{2.}\,对于给定的 x ,表示编号为 x 的猪猪想知道自己是第几个和 Tobo 玩耍的,如果没有玩耍过则输出 0

\hspace{15pt}你一共需要处理 q 次操作。

输入描述:

\hspace{15pt}第一行输入两个整数 n, q \left(1 \leq n, q \leq 10^5\right) 代表 Tobo 养的猪猪数量、操作次数。 
\hspace{15pt}此后 q 行,每行先输入一个整数 op \left(1 \leq op \leq 2\right) 表示操作类型,随后:
\hspace{23pt}\bullet\,op = 1 ,在同一行上输入两个整数 l, r \left(1 \leq l \leq r \leq n\right) 代表 Tobo 将依次和编号为 lr 的猪猪玩耍。
\hspace{23pt}\bullet\,op = 2 ,在同一行上输入一个整数 x \left(1 \leq x \leq n\right) 代表一次询问。

输出描述:

\hspace{15pt}对于每一次询问,在单独的一行上输出一个整数,表示询问的猪猪是第几个和 Tobo 玩耍的;若没有玩耍过,则直接输出 0
示例1

输入

复制
5 7
1 2 3
2 3
1 3 5
2 4
2 1
1 1 5
2 1

输出

复制
2
3
0
5

说明

\hspace{15pt}对于第一次操作,Tobo 将依次和编号为 2,3 的猪猪玩耍;
\hspace{15pt}对于第二次操作,编号为 3 的猪猪想知道自己是第几个和 Tobo 玩的,输出 2
\hspace{15pt}对于第三次操作,Tobo 将依次和编号为 3,4,5 的猪猪玩耍,这其中,由于编号为 3 的猪猪已经和 Tobo 玩过,所以 Tobo 会跳过它,直接和编号为 4 的猪猪玩耍。
示例2

输入

复制
10 10
1 7 9
2 4
2 10
1 1 9
2 1
1 2 7
2 2
1 6 10
2 8
1 2 2

输出

复制
0
0
4
5
2