問題文
長さ M の非負整数列 B=(B1,B2,dots,BM),C=(C1,C2,dots,CM) に対して、B と C の XOR 和 S(B,C) を長さ M の非負整数列 $(B_1\\oplus C_1, B_2\\oplus C_2, ..., B_{M}\\oplus C_{M})$ として定義します。ここで oplus はビットごとの排他的論理和を意味します。
例えば B=(1,2,3),C=(3,5,7) のとき $S(B, C) = (1\\oplus 3, 2\\oplus 5, 3\\oplus 7) = (2, 7, 4)$ です。
非負整数列 A=(A1,A2,dots,AN) が与えられます。A の i 番目から j 番目までの要素からなる A の連続部分列を A(i,j) と表します。
以下に説明するクエリが Q 個与えられるので全て処理してください。
各クエリでは 1 以上 N 以下の整数 a,b,c,d,e,f が与えられます。これらの整数は aleqb,cleqd,eleqf,b−a=d−c を満たします。このとき、S(A(a,b),A(c,d)) が A(e,f) よりも辞書順で真に小さければ Yes
を、そうでなければ No
を出力してください。
ビットごとの排他的論理和とは? 整数 A,B のビットごとの排他的論理和 AoplusB は、以下のように定義されます。
- AoplusB を二進表記した際の 2k (kgeq0) の位の数は、A,B を二進表記した際の 2k の位の数のうち一方のみが 1 であれば 1、そうでなければ 0 である。
例えば、3oplus5=6 となります (二進表記すると: 011oplus101=110)。 数列の辞書順とは?
数列 A=(A1,ldots,A∣A∣) が B=(B1,ldots,B∣B∣) より辞書順で真に小さいとは、下記の 1. と 2. のどちらかが成り立つことを言います。
- ∣A∣<∣B∣ かつ (A1,ldots,A∣A∣)=(B1,ldots,B∣A∣) である。
- ある整数 1leqileqmin∣A∣,∣B∣ が存在して、下記の 2 つがともに成り立つ。
- (A1,ldots,Ai−1)=(B1,ldots,Bi−1)
- Ai<Bi
制約
- 1leqNleq5times105
- 0leqAileq1018
- 1leqQleq5times104
- 1leqaleqbleqN
- 1leqcleqdleqN
- 1leqeleqfleqN
- b−a=d−c
- 入力される値はすべて整数
入力
入力は以下の形式で標準入力から与えられる。ここで textqueryi は i 番目のクエリを意味する。
N Q
A1 A2 dots AN
textquery1
textquery2
vdots
textqueryQ
クエリは次の形式で与えられる。
a b c d e f
出力
Q 行出力せよ。i 行目には i 番目のクエリへの答えを出力せよ。
入力例 1
4 5
1 2 3 1
1 3 2 4 1 4
1 2 2 3 3 4
1 1 2 2 3 4
1 2 2 3 3 3
1 4 1 4 1 1
出力例 1
No
No
Yes
No
Yes
1 番目のクエリについて、A(1,3)=(1,2,3),A(2,4)=(2,3,1) なので $S(A(1,3),A(2,4)) = (1 \\oplus 2, 2 \\oplus 3, 3 \\oplus 1) = (3, 1, 2)$ です。これは A(1,4)=(1,2,3,1) よりも辞書順で大きいので答えは No
になります。
2 番目のクエリについて、S(A(1,2),A(2,3))=(3,1), A(3,4)=(3,1) であり両者は等しく、答えは No
になります。
入力例 2
10 10
725560240 9175925348 9627229768 7408031479 623321125 4845892509 8712345300 1026746010 4844359340 2169008582
5 6 5 6 2 6
5 6 1 2 1 1
3 8 3 8 1 6
5 10 1 6 1 7
3 4 1 2 5 5
7 10 4 7 2 3
3 6 1 4 7 9
4 5 3 4 8 9
2 6 1 5 5 8
4 8 1 5 1 9
出力例 2
Yes
Yes
Yes
Yes
No
No
No
No
No
No