AT_abc223_h [ABC223H] Xor Query

Description

[problemUrl]: https://atcoder.jp/contests/abc223/tasks/abc223_h 長さ $ N $ の正整数列 $ A\ =\ (A_1,\ \dots,\ A_N) $ が与えられます。 $ Q $ 個のクエリを処理してください。$ i\ \,\ (1\ \leq\ i\ \leq\ Q) $ 番目のクエリでは、$ A_{L_i},\ A_{L_i\ +\ 1},\ \dots,\ A_{R_i} $ から $ 1 $ つ以上の要素を選び、それらの排他的論理和を $ X_i $ にできるかどうか判定してください。 排他的論理和とは 整数 $ a,\ b $ のビットごとの排他的論理和 $ a\ \mathrm{xor}\ b $ は、以下のように定義されます。 - $ a\ \mathrm{xor}\ b $ を二進表記した際の $ 2^k\ \,\ (k\ \geq\ 0) $ の位の数は、$ a,\ b $ を二進表記した際の $ 2^k $ の位の数のうち一方のみが $ 1 $ であれば $ 1 $、そうでなければ $ 0 $ である。 例えば、$ 3\ \mathrm{xor}\ 5\ =\ 6 $ となります(二進表記すると: $ 011\ \mathrm{xor}\ 101\ =\ 110 $)。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ Q $ $ A_1 $ $ \ldots $ $ A_N $ $ L_1 $ $ R_1 $ $ X_1 $ $ \vdots $ $ L_Q $ $ R_Q $ $ X_Q $

Output Format

$ Q $ 行にわたって出力せよ。$ i\ \,\ (1\ \leq\ i\ \leq\ Q) $ 行目には、$ A_{L_i},\ A_{L_i\ +\ 1},\ \dots,\ A_{R_i} $ から $ 1 $ つ以上の要素を選び、それらの排他的論理和を $ X_i $ にできるならば `Yes` と、できないならば `No` と出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 4\ \times\ 10^5 $ - $ 1\ \leq\ Q\ \leq\ 2\ \times\ 10^5 $ - $ 1\ \leq\ A_i\ \lt\ 2^{60} $ - $ 1\ \leq\ L_i\ \leq\ R_i\ \leq\ N $ - $ 1\ \leq\ X_i\ \lt\ 2^{60} $ - 入力は全て整数である。 ### Sample Explanation 1 $ 1 $ つ目のクエリでは、$ A_1,\ A_3 $ を選ぶことで排他的論理和を $ 7 $ にすることができます。 $ 2 $ つ目のクエリでは、どのように要素を選んでも排他的論理和を $ 7 $ にすることはできません。