CSES - E4590 2020 5 - Coins
  • Time limit: 1.00 s
  • Memory limit: 512 MB

You have n coins and you want to distribute them into stacks so that no two stacks have the same number of coins.

What is the largest possible number of stacks, and how should the coins be distributed?

Input

On the only line of the input there is a single integer n: the number of coins.

Output

First, output an integer k: the maximum number of stacks.

Then output k integers: the number of coins in each stack. You can output any valid solution.

Constraints

  • 1 \leq n \leq 10^9

Examples

Input:

5

Output:

2
2 3

Input:

14

Output:

4
1 3 4 6