015 - Don't be too close(★6) Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点: 6

問題文

1 から N までの整数が書かれた、N 個のボールがあります。 k = 1, 2, 3, ..., N それぞれについて、以下の質問に答えてください。

  • これら N 個のボールから 1 個以上のボールを選ぶ方法は 2^N-1 通り存在するが、その中で次の条件を満たす選び方は何通りあるか。
    • どの選んだ 2 つのボールについても、書かれている整数の差が k 以上である。
  • ただし、答えは非常に大きくなることがあるので、10^9+7 で割った余りを出力すること。

制約

  • 1 \leq N \leq 10^5
  • N は整数

入力

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

N

出力

出力は N 行からなります。

i\ (1\leq i \leq N) 行目には、k = i のときの答えを 10^9+7 で割った余りを出力してください。


入力例 1

1

出力例 1

1

ボール 1 を選ぶ 1 通りのみが存在します。


入力例 2

2

出力例 2

3
2

k=1 のとき、選んだボールの集合として、\{1\}\{2\}\{1,2\}3 通りが存在します。

k=2 のとき、\{1\}\{2\}2 通りが存在します。


入力例 3

3

出力例 3

7
4
3

入力例 4

4

出力例 4

15
7
5
4

入力例 5

7

出力例 5

127
33
18
13
10
8
7

入力例 6

20

出力例 6

1048575
17710
2744
906
430
250
167
118
90
75
65
56
48
41
35
30
26
23
21
20

入力例 7

50

出力例 7

898961330
951279874
262271567
14341526
1985602
466851
153365
63191
30623
16687
9987
6453
4354
3070
2290
1790
1427
1138
910
735
605
512
448
405
375
350
326
303
281
260
240
221
203
186
170
155
141
128
116
105
95
86
78
71
65
60
56
53
51
50

10^9+7 で割った余りを出力してください。


Source Name

「競プロ典型90問」15日目