#include <bits/stdc++.h>

int main()
{
	int n;
	scanf("%d",&n);

	for(int i = 1 ; ; i++)
	{
		if( i*(i + 1) >= 2*n )
		{
			printf("%d\n",i);
			return 0;
		}
	}
}
### Prompt

Please provide a cpp coded solution to the problem described below:

There is a kangaroo at coordinate 0 on an infinite number line that runs from left to right, at time 0. During the period between time i-1 and time i, the kangaroo can either stay at his position, or perform a jump of length exactly i to the left or to the right. That is, if his coordinate at time i-1 is x, he can be at coordinate x-i, x or x+i at time i. The kangaroo's nest is at coordinate X, and he wants to travel to coordinate X as fast as possible. Find the earliest possible time to reach coordinate X.

Constraints

* X is an integer.
* 1≤X≤10^9

Input

The input is given from Standard Input in the following format:


X


Output

Print the earliest possible time for the kangaroo to reach coordinate X.

Examples

Input

6


Output

3


Input

2


Output

2


Input

11


Output

5

### Response

```cpp
#include <bits/stdc++.h>

int main()
{
	int n;
	scanf("%d",&n);

	for(int i = 1 ; ; i++)
	{
		if( i*(i + 1) >= 2*n )
		{
			printf("%d\n",i);
			return 0;
		}
	}
}
```