#### Registered Users Only

Please login to utilize this feature.

Do note that this website only supports submissions in C++.

### Title

### Problem Statement

How many infinite sequences `a _{1}, a_{2}, ...` consisting of {

`{1, ... ,n}`} satisfy the following conditions?

- The
`n`-th and subsequent elements are all equal. That is, if`n ≤ i,j`,`a`._{i}= a_{j} - For every integer
`i`, the`a`elements immediately following the_{i}`i`-th element are all equal. That is, if`i < j < k≤ i+a`,_{i}`a`._{j}= a_{k}

Find the count modulo `10 ^{9}+7`.

### Constraints

`1 ≤ n ≤ 10`^{6}

### Input

Input is given from Standard Input in the following format:

n

### Output

Print how many sequences satisfy the conditions, modulo `10 ^{9}+7`.

### Sample Input 1

2

### Sample Output 1

4

The four sequences that satisfy the conditions are:

`1, 1, 1, ...``1, 2, 2, ...``2, 1, 1, ...``2, 2, 2, ...`

### Sample Input 2

654321

### Sample Output 2

968545283

### Tags

### Subtasks and Limits

Subtask | Score | #TC | Time | Memory | Scoring |
---|---|---|---|---|---|

1 | 100 | 20 | 1s | 256MB | Minimum |

2 | 0 | 2 | 1s | 256MB | Minimum |

### Judge Compile Command

g++-8 ans.cpp -o infiniteseq -Wall -Wshadow -static -O2 -lm -m64 -s -w -std=gnu++17 -fmax-errors=512