#arc047c. [arc047_c]N!÷K番目の単語

[arc047_c]N!÷K番目の単語

問題文

高橋語には NN 種類の文字があります。

この問題では便宜上、各文字に辞書順で小さい順に 11NN の整数を割り振って扱うことにします。

高橋語の単語は全て NN 文字からなり、NN 種類の文字が全てちょうど 11 個ずつ含まれます。 また、そのような文字列は全て高橋語の単語です。

つまり、高橋語の単語は N!N! 個あります。

ある NN 以下の正の整数 KK が与えられるので、高橋語の単語の中で辞書順で小さい方から N!÷KN! ÷ K 番目の単語を求めてください。


入力

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

NN KK

  • 11 行目には 22 つの整数 N,K(1KN105)N, K(1 ≦ K ≦ N ≦ 10^5) が空白区切りで与えられます。

部分点

この問題には部分点が設定されている。

  • 1N201 ≦ N ≦ 20 を満たすデータセットに正解した場合は 3030 点が与えられる。
  • 1N1051 ≦ N ≦ 10^5 を満たすデータセットに正解した場合はさらに 7070 点が与えられる。合計で100100点となる。

出力

出力は NN 行からなる。 ii 行目には高橋語の単語の中で辞書順で小さい方から N!÷KN! ÷ K 番目の単語の ii 文字目の文字に対応する整数を出力せよ。 出力の末尾に改行を入れること。


入力例1


4 3

出力例1


2
1
4
3

1,2,3,41,2,3,4 の並び替えのうち、辞書順で小さい方から 4!÷3=84! ÷ 3 = 8 番目の文字を出力しなければなりません。 高橋語の単語のうち辞書順で小さい方から順に 88 個を列挙すると

1,2,3,41, 2, 3, 4

1,2,4,31, 2, 4, 3

1,3,2,41, 3, 2, 4

1,3,4,21, 3, 4, 2

1,4,2,31, 4, 2, 3

1,4,3,21, 4, 3, 2

2,1,3,42, 1, 3, 4

2,1,4,32, 1, 4, 3

となります。よって 2,1,4,32, 1, 4, 3が求めるべき単語です。


入力例2


11 7

出力例2


2
7
9
5
4
11
10
8
6
3
1