AT_arc221_e [ARC221E] Two Increasing Sequences
Description
正整数 $ N $ と正整数 $ X $ , $ (1,2,\ldots,N) $ の順列 $ P=(P_1,P_2,\ldots,P_N) $ が与えられます. $ X $ のみ二進法で与えられ, $ N $ と $ P $ の要素は十進法で与えられます.
以下の条件を全て満たすような非負整数列 $ A=(A_1,A_2,\ldots,A_N) $ と $ B=(B_1,B_2,\ldots,B_N) $ が存在するか判定してください.
- $ A,B $ は共に狭義単調増加列である.
- $ i=1,2,\ldots,N $ に対し $ A_{P_i}=B_i \oplus X $ が成り立つ.
ただし,二項演算子 $ \oplus $ は非負整数同士の bit 毎の排他的論理和を表します.
$ T $ 個のテストケースが与えられるので,それぞれについて答えを求めてください.
Input Format
入力は以下の形式で標準入力から与えられる.
> $ T $ $ \text{case}_1 $ $ \text{case}_2 $ $ \vdots $ $ \text{case}_T $
各テストケースは以下の形式で与えられる.
> $ N $ $ X $ $ P_1 $ $ P_2 $ $ \ldots $ $ P_N $
Output Format
各テストケースに対する答えを順に改行区切りで出力せよ.
各テストケースについて,条件を全て満たす $ A $ と $ B $ が存在する場合は `Yes` を,存在しない場合は `No` を出力せよ.
Explanation/Hint
### Sample Explanation 1
$ 1 $ 番目のテストケースについて,例えば $ A=(2,3,5,7) $ と $ B=(0,2,6,7) $ が条件を満たします.
### Constraints
- $ 1\le T\le 10^5 $
- $ 2\le N\le 2\times 10^5 $
- $ 1\le X < 2^{10^6} $
- $ P $ は $ (1,2,\ldots,N) $ の順列
- 全てのテストケースにおける $ N $ の総和は $ 2\times 10^5 $ 以下
- 全てのテストケースにおける $ X $ の二進法における桁数の総和は $ 10^6 $ 以下
- $ T,N,P_i $ は十進法で与えられる
- $ X $ は leading zero がない二進法で与えられる
- 入力される数値は全て整数