- Time limit: 1.00 s
- Memory limit: 512 MB
You are given an array that contains each number between exactly once. You collect the numbers in increasing order from to . On each round, you traverse the array from left to right and collect as many consecutive numbers as possible, starting from the smallest number that has not been collected yet.
Your task is to determine, for each , the number of arrays that require exactly rounds to collect all the numbers.
Input
The only line has an integer .
Output
Print numbers: for each , the answer modulo .
Constraints
Example
Input:
3
Output:
1 4 1
Explanation: The arrays are ( round), ( rounds), ( rounds), ( rounds), ( rounds), and ( rounds).