H. Scooter Numbers
time limit per test
1 second
memory limit per test
512 megabytes
input
standard input
output
standard output

Residents of Partoburg often violate traffic rules, get into accidents involving scooters, and steal other people's scooters. In order to control scooter-related incidents, the sheriff of Partoburg has introduced a scooter registration system.

On the first day of each month the sheriff chooses a natural number $$$n$$$ and prints all possible scooter numbers in the format $$$[a_{1}+a_{2}+ \ldots +a_{k}]$$$, where $$$a_1+a_2+\ldots+a_k = n$$$, and natural numbers $$$a_{i}$$$ are ordered non-decreasingly: $$$a_1 \le a_2 \le \ldots \le a_{k}$$$. Each number is unique: there cannot be two scooters with the same number. The numbers are assigned to scooter owners. If an owner does not have a number in a given month, he cannot use the scooter during that month.

The sheriff himself also moves around on a scooter. To easily identify his scooter, it has a special number format. The sheriff's scooter number is a single number calculated as follows. For all scooter numbers in the current month $$$[a_{1}+a_{2}+ \ldots +a_{k}]$$$, the value $$$\mathrm{mex}{a_{1},a_{2}, \ldots, a_{k}}$$$ is calculated — the minimum natural number absent in the number. These values are summed. The number of the sheriffs scooter is a remainder of the division of the resulting sum by $$$10^9+7$$$.

The sheriff wants to automate the scooter number assignment system and started with his own scooter. This month he chose the number $$$n$$$. Help determine what number his scooter will receive.

Input

In the first line of input is a single natural number $$$n$$$ — the number chosen by the sheriff for this month ($$$1 \le n \le 1000$$$).

Output

Output a single integer — the sheriff's scooter number: an integer from $$$0$$$ to $$$10^9+6$$$, the remainder of the division by $$$10^9+7$$$ of the sum of all the scooter numbers' $$$\mathrm{mex}$$$ values for this month.

Examples
Input
1
Output
2
Input
3
Output
6
Note

In the first example $$$n = 1$$$. The only possible number is $$$[1]$$$. In this case the sheriff's scooter number will be $$$\mathrm{mex}{1} = 2$$$.

In the second example $$$n = 3$$$. All possible numbers are $$$[1+1+1]$$$, $$$[1+2]$$$, $$$[3]$$$. In this case the sheriff's scooter number will be $$$\mathrm{mex}{1, 1, 1} + \mathrm{mex}{1, 2} + \mathrm{mex}{3} = 2 + 3 + 1 = 6$$$.