#abc242g. [abc242_g]Range Pairing Query

[abc242_g]Range Pairing Query

問題文

1,2,dots,N1,2,\\dots,N と番号付けられた人が並んでおり、人 ii は色 AiA_i の服を着ています。

以下の形式で表される QQ 個のクエリに答えてください。

  • 整数 l,rl,r が与えられる。 人 l,l+1,dots,rl,l+1,\\dots,r だけに着目したとき、同じ色の服を着た 22 人からなるペアは最大何組作れるか答えよ。

制約

  • 入力は全て整数
  • 1leNle1051 \\le N \\le 10^5
  • 1leQle1061 \\le Q \\le 10^6
  • 1leAileN1 \\le A_i \\le N
  • 各クエリについて、 1lellerleN1 \\le l \\le r \\le N

入力

入力は以下の形式で標準入力から与えられる。

NN A1A_1 A2A_2 dots\\dots ANA_N QQ mathrmQuery1\\mathrm{Query}_1 mathrmQuery2\\mathrm{Query}_2 vdots\\vdots mathrmQueryQ\\mathrm{Query}_Q

ただし、 mathrmQueryi\\mathrm{Query}_iii 個目のクエリを表す。

各クエリは以下の形式で与えられる。

ll rr

出力

全体で QQ 行出力せよ。
ii 行目には ii 個目のクエリに対する答えを整数として出力せよ。
なお、入出力が大きくなる場合があるので、高速な方法で入出力を行うことを推奨する。


入力例 1

10
1 2 3 2 3 1 3 1 2 3
6
6 10
5 8
3 6
4 4
1 6
1 10

出力例 1

2
2
1
0
3
4

A=(1,2,3,2,3,1,3,1,2,3)A=(1,2,3,2,3,1,3,1,2,3) です。この入力には 66 個のクエリが含まれます。

11 個目のクエリは (l,r)=(6,10)(l, r) = (6, 10) です。人 66 と人 88 、人 77 と人 1010 を組にすることで、同じ色の服を着たペアを 22 組作ることができます。

22 個目のクエリは (l,r)=(5,8)(l, r) = (5, 8) です。人 55 と人 77 、人 66 と人 88 を組にすることで、同じ色の服を着たペアを 22 組作ることができます。

l=rl=r であるようなクエリも与えられます。