main = do
  s <- getLine
  let q = read s :: Double 
  if (q /= -1) then func (q / 2) q else return ()
  if (q == -1) then return () else main

func m n = do
  if (abs (m*m*m - n)) < (0.00001 * n)
    then putStrLn (show m)
    else let nex = m - (m*m*m - n) / (3*m*m) in
      func nex n