while true
    e=gets.to_i
    break if e == 0
 
    m=1000000*3
    a=(e**(1.0/2.0)).round+1
    b=(e**(1.0/3.0)).round+1
    b.times{|z|
        a.times{|y|
            x=e-z**3-y**2
            next if x < 0
            ans = x+y+z
            m = ans < m ? ans : m
        }
    }
    puts m
end
