Earliest Exact Error Engineering

2 secs 1024 MB
yuki4869's icon yuki4869

問題文

長さ NN の順列 P=(P1,P2,...,PN)P = (P_1, P_2, ..., P_N) に対して、スコア S(P)S(P) を次のように定義します。

S(P)=P11+P22+...+PNNS(P) = |P_1 - 1| + |P_2 - 2| + ... + |P_N - N|

整数 NNKK が与えられます。

S(P)=KS(P) = K を満たす長さ NN の順列 PP のうち、辞書順が最も早い順列を出力してください。

そのような順列が存在しない場合は No を出力してください。


制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 0K10180 \leq K \leq 10^{18}
  • 入力はすべて整数

入力

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

N  KN\ \ K


出力

条件を満たす順列が存在する場合、その中で最も辞書順が早いものを次のように出力せよ。

YesP1  P2   PNYes\\ P_1\ \ P_2 \ \cdots\ \ P_N

条件を満たす順列が存在しない場合、Noを出力せよ。


入力例 1

4 6

出力例 1

Yes
2 3 4 1

P=(2,3,4,1)P = (2, 3, 4, 1) のとき、S(P)=21+32+43+14=6S(P) = |2 - 1| + |3 - 2| + |4 - 3| + |1 - 4|= 6 となるため、条件を満たします。 また (2,3,4,1)(2, 3, 4, 1) より辞書順が早い条件を満たす順列は存在しないため、 (2,3,4,1)(2, 3, 4, 1) を出力してください。

入力例 2

3 1

出力例 2

No

条件を満たす長さ 33 の順列 PP は存在しません。

入力例 3

5 12

出力例 3

Yes
3 4 5 1 2

提出


Go (1.21)