p02881 AtCoder Beginner Contest 144 - Walk on Multiplication Table
Takahashi is standing on a multiplication table with infinitely many rows and columns.

The square (i,j) contains the integer i \times j. Initially, Takahashi is standing at (1,1).

In one move, he can move from (i,j) to either (i+1,j) or (i,j+1).

Given an integer N, find the minimum number of moves needed to reach a square that contains N.

Constraints

* 2 \leq N \leq 10^{12}
* N is an integer.

Input

Input is given from Standard Input in the following format:


N


Output

Print the minimum number of moves needed to reach a square that contains the integer N.

Examples

Input

10


Output

5


Input

50


Output

13


Input

10000000019


Output

10000000018
```python
N = int(input())
n = 1
last = 0
while n**2 <= N:
  if N%n == 0 :
    last = n
  n += 1
print(last + N//last - 2)
```