require 'prime'

N = gets.to_i

p = Prime.prime_division(N).map{ |x| x[0] }
c = Prime.prime_division(N).map{ |x| (0 .. x[1]).to_a }

start = c[0]

(1..c.size - 1).each{ |i|
	start = start.product c[i]
}

start = start.map{ |x| x.class == Array ? x.flatten : [x]  }

yaku = start.map{|x| x.map.with_index{ |y, i| p[i] ** y }.inject(:*) }.sort

root = N ** (1.0 / 2)

x = yaku.bsearch{|x| x >= root}
puts x-1 + N/x -1