C - Not Say "NO" Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点: 100

問題文

まず、以下の問題を読んでください。

1,2,\dots,N の番号のついた N 人の子供がいて、互いに価値の異なるプレゼントが K 個ある。 i 個目のプレゼントの価値は V_i である。 全てのプレゼントを子供たちに分けるとき、全ての子供が最終的に合計で同じ価値のプレゼントを得るようにできるだろうか? 可能ならYESと出力し、分け方の一例を示してください。 不可能ならNOと出力してください。

制約

  • 1 \le N \le 100
  • 2\times N-1 \le K \le 10^4
  • 1 \le V_i \le 10^{14}(1 \le i \le K)
  • V_i \neq V_j(1 \le i < j \le K)

N,K が与えられるので、この問題のテストケースを解の一例とともに生成してください。 ただし、解がNOとなるケースを生成してはいけません。 なお、この問題においてこの制約のもとでどんな入力でも解が存在することが示せます。


入力

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

N\ K

出力

以下の形式で出力せよ。

V_1\ V_2\ \cdots\ V_K
S
R_1\ R_2\ \cdots\ R_K

まず、 1 行目に生成したテストケース V_i を出力してください。

次に、テストケースの解である S を出力してください。 SYESNOである必要がありますが、解がNOとなるケースを生成してはいけません。

最後に、 SYESの場合、分け方の一例を示してください。 R_i=X(1\le X \le N) の場合、 i 番目のプレゼントが R_i 番の子供に渡されたことを表します。


入力例 1

3 6

出力例 1

3 5 2 6 4 1
YES
3 2 2 1 3 1

入力例 2

2 5

出力例 2

100 10 20 30 40
YES
2 1 1 1 1