#abc250e. [abc250_e]Prefix Equality

[abc250_e]Prefix Equality

問題文

長さ NN の整数列 A=(a1,ldots,aN)A = (a_1,\\ldots,a_N)B=(b1,ldots,bN)B = (b_1,\\ldots,b_N) が与えられます。

i=1,...,Qi=1,...,Q に対し、次の形式のクエリに答えてください。

  • AA の先頭 xix_i(a1,ldots,axi)(a_1,\\ldots,a_{x_i}) に含まれる値の集合と BB の先頭 yiy_i(b1,ldots,byi)(b_1,\\ldots,b_{y_i}) に含まれる値の集合が等しいならば Yes と、そうでなければ No と出力せよ。

制約

  • 1leqN,Qleq2times1051 \\leq N,Q \\leq 2 \\times 10^5
  • 1leqai,bileq1091 \\leq a_i,b_i \\leq 10^9
  • 1leqxi,yileqN1 \\leq x_i,y_i \\leq N
  • 入力は全て整数

入力

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

NN a1a_1 ldots\\ldots aNa_N b1b_1 ldots\\ldots bNb_N QQ x1x_1 y1y_1 vdots\\vdots xQx_Q yQy_Q

出力

QQ 行出力せよ。 ii 行目には、ii 番目のクエリに対する出力をせよ。


入力例 1

5
1 2 3 4 5
1 2 2 4 3
7
1 1
2 2
2 3
3 3
4 4
4 5
5 5

出力例 1

Yes
Yes
Yes
No
No
Yes
No

集合は各値が含まれるかどうかのみに注目した概念であることに気を付けてください。
33 番目のクエリにおいて、AA の先頭 22 項には 112211 個ずつ、BB の先頭 33 項には 1111 個と 2222 個含まれます。しかし、それぞれに含まれる値の集合はどちらも 1,2\\{ 1,2 \\} となり、一致します。
また、66 番目のクエリにおいては各値が現れる順番が異なりますが、やはり集合としては一致します。