编程题
### 问题描述
给定长度为 $N$ 的序列 $a$,支持 $Q$ 次在线询问,每次询问区间 $[l,r]$ 内出现过的不同数的种类数。
### 输入格式
第一行包含 $2$ 个正整数 $N,Q$。
第二行给定 $N$ 个正整数,第 $i$ 个表示 $a_i$。
之后 $Q$ 行,记录上一次的答案为 $lastans$,给定 $l',r'$,生成 $l=(l'+lastans) \bmod n+1,r=(r'+lastans) \bmod n+1$,此时若 $l>r$,则交换 $l,r$,表示一次询问。特别地,第一次询问时 $lastans=0$。
### 输出格式
输出共 $Q$ 行,每行输出一个整数,表示答案。
### 样例输入
```text
5 5
1 2 3 1 2
1 2
2 3
2 3
2 3
1 4
```
### 样例输出
```text
2
3
2
3
3
```
### 评测数据规模
对于所有测评数据,$1 \leq N,Q \leq 10^5,1 \leq a_i \leq N$。