Ilie has a magical machine that can generate messages from binary strings.
First, Ilie gives the machine a binary string of length . The machine can then generate a message by deleting any number of characters from (possibly none), without changing the order of the remaining characters.
For example, if , the machine can generate the messages , , , , and several others.
The machine can also delete all characters, generating an empty message.
Ilie is only interested in distinct messages. If the same message can be generated in multiple ways, it is counted only once.
Ilie wants to choose a binary string of length so that his machine can generate as many distinct messages as possible.
Help Ilie find the maximum possible number of distinct messages he can generate!
Since the answer can be very large, print it modulo .
Input
The only line contains a single integer ().
Output
Print a single integer: the maximum possible number of distinct messages Ilie can generate, modulo .
Example
stdin
3
stdout
7
Note
The table below lists every binary string of length together with all the distinct messages it can generate. Here, denotes the empty message.
| Distinct messages | Count | |
|---|---|---|
000 |
, 0, 00, 000 |
|
001 |
, 0, 1, 00, 01, 001 |
|
010 |
, 0, 1, 00, 01, 10, 010 |
|
011 |
, 0, 1, 01, 11, 011 |
|
100 |
, 0, 1, 00, 10, 100 |
|
101 |
, 0, 1, 01, 10, 11, 101 |
|
110 |
, 0, 1, 10, 11, 110 |
|
111 |
, 1, 11, 111 |
Therefore, the maximum possible number of distinct messages is .