J - Merge and Decrement 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MB

問題文

黒板に N 個の整数が書かれています。i 番目の整数は A_i です。

あなたは、以下の 2 種類の操作を、それぞれ好きな順に何度でも行うことができます。

  • 操作 1 : 黒板に書かれている数 x1 つ選び、消す。その後、黒板 に x - 1 を書く。
  • 操作 2 : 黒板に書かれている 2 つの数 x, y であって、|x - y| \le 1 を満たすものを選び、それらを消す。その後、2 つの数の和 x + y を黒板に書く。

最終的に、黒板にM 個の整数 B_1, B_2, \ldots , B_M のみ が書かれている状態にできるかどうかを判定してください。

T 個のテストケースが与えられるので、それぞれについて答えを求めてください。

制約

  • 入力は全て整数である。
  • 1 \leq T \leq 10^5
  • 1 \leq M \leq N \leq 10^5
  • 1 \leq A_i \leq 10^9
  • 1 \leq B_i \leq 10^9
  • 1 つの入力ファイルにおいて、N の総和、M の総和はどちらも 2 \times 10^5 を超えない。

入力

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

T
\mathrm{case}_1
\vdots
\mathrm{case}_T

各ケースは以下の形式で与えられる。

N M
A_1 A_2 \ldots A_N
B_1 B_2 \ldots B_M

出力

T 行出力せよ。i 行目には i 番目のテストケースについて、達成可能なら Yes、不可能なら No を出力せよ。


入力例1

3
2 1
5 3
7
2 1
6 2
7
5 3
3 4 3 6 3
3 5 8

出力例1

Yes
No
Yes

3 つ目のテストケースでは、以下のように操作をすることで達成可能です。

  1. 操作 2 によって、33 を消して 6 を書きます。
  2. 操作 1 によって、6 を消して 5 を書きます。
  3. 操作 2 によって、45 を消して 9 を書きます。
  4. 操作 1 によって、9 を消して 8 を書きます。
  5. 操作 1 によって、6 を消して 5 を書きます。