import math

n=int(eval(input()))

lst=[]

down=math.floor(math.sqrt(n))

for i in range(1,down+1):

    if i**2>n:

        break

    if n%i==0:

        lst.append(i+n//i)

print((min(lst)-2))
import math

n=int(eval(input()))

lst=[]

down=math.floor(math.sqrt(n))

for i in range(1,down+1):

    #if i**2>n:

    #    break

    if n%i==0:

        lst.append(i+n//i)

print((min(lst)-2))

import math

n = int(eval(input()))
lst = []
down = math.floor(math.sqrt(n))
for i in range(1, down + 1):
    if i**2 > n:
        break
    if n % i == 0:
        lst.append(i + n // i)
print((min(lst) - 2))

import math

n = int(eval(input()))
lst = []
down = math.floor(math.sqrt(n))
for i in range(1, down + 1):
    # if i**2>n:
    #    break
    if n % i == 0:
        lst.append(i + n // i)
print((min(lst) - 2))

-    if i**2 > n: -        break +    # if i**2>n: +    #    break