D2. Sweets (Difficult)
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Please read the statement of the easier version first. It has been copied to the notes.

Willy realizes that he has made a big mess, and the number $$$n$$$ of participants who will make the visit is unknown. The only thing he knows is that $$$1 \leq n \leq k$$$. Help Willy Wonka by computing the number of ways to distribute the $$$k$$$ sweets for every possible value of $$$n$$$. Print the answer modulo $$$10^9 + 7$$$.

Input

The input consists of a single integer $$$k$$$, representing the number of chocolates. It is guaranteed that $$$1 \leq k \leq 10^5$$$.

Output

Print $$$k$$$ integers separated by spaces. The integer $$$1 \leq i \leq k$$$ represents how many ways to distribute $$$k$$$ sweets to $$$i$$$ participants such that everyone receives at least one sweet, modulo $$$10^9 + 7$$$.

Examples
Input
1
Output
1
Input
2
Output
1 2
Input
5
Output
1 30 150 240 120
Note

Statement of the easier version:

Willy Wonka, famous for his large chocolate factory, decided to give a gift to the $$$n$$$ lucky people awarded a visit to his factory. He has $$$k$$$ chocolates available, all different from each other. Willy wants to distribute the chocolates among the $$$n$$$ participants, ensuring that everyone receives at least one chocolate.

After a while, he realized that this task was too easy and decided to compute how many ways this can be done. Let the $$$k$$$ distinct chocolates be numbered from $$$1$$$ to $$$k$$$, and the participants from $$$1$$$ to $$$n$$$. Two ways are different if there exists some participant $$$i$$$ who receives a chocolate $$$j$$$ in one of the distributions but not in another for some $$$1 \leq i \leq n$$$ and $$$1 \leq j \leq k$$$. Since the number of ways can be very large, compute the answer modulo $$$10^9 + 7$$$.