N = gets.to_i ans = N + 1 2.upto(Math.log2(N).floor) do |j| i = 2 while (i + 1) ** j < N i += 1 end k = N - i ** j v = i + j + k ans = v if ans > v end puts ans