#CF813E. Army Creation

Army Creation

Army Creation

  • 时间限制:2 秒
  • 内存限制:256 MiB

题目描述

nn 名战士,第 ii 名战士的类型为 aia_i。对于每个询问,只能从指定编号区间中选择战士;为了使军队保持平衡,每种类型至多选择 kk 名战士。请计算最多能选择多少名战士。

询问经过上一次答案加密。令上一次询问的答案为 lastlast,初始时 last=0last=0。读入 x,yx,y 后,按下式还原真实区间:

l=((x+last)modn)+1,l=((x+last)\bmod n)+1, r=((y+last)modn)+1.r=((y+last)\bmod n)+1.

l>rl>r,则交换 l,rl,r

输入格式

第一行包含两个整数 n,kn,k

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n,表示各战士的类型。

第三行包含一个整数 qq

接下来 qq 行,每行包含两个整数 x,yx,y,表示一个加密后的询问。

输出格式

对于每个询问输出一行一个整数,表示平衡军队的最大人数。

样例输入

6 2
1 1 1 2 2 2
5
1 6
4 3
1 1
2 6
2 6

样例输出

2
4
1
3
2

数据范围

对于全部数据,1n,k,q1051\le n,k,q\le10^51ai1051\le a_i\le10^51x,yn1\le x,y\le n

所有测试点均独立计分且分值相同。

子任务编号 分值 特殊限制
1 20 n,q2000n,q\le2000
2 40 ai100a_i\le100
3 无特殊限制