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