Problem:
Score : 400 points

Problem Statement

Give a pair of integers (A, B) such that A^5-B^5 = X.
It is guaranteed that there exists such a pair for the given integer X.

Constraints

1 \leq X \leq 10^9

X is an integer.

There exists a pair of integers (A, B) satisfying the condition in Problem Statement.

Input

Input is given from Standard Input in the following format:

X

Output

Print A and B, with space in between.
If there are multiple pairs of integers (A, B) satisfying the condition, you may print any of them.

A B

Sample Input 1

33

Sample Output 1

2 -1

For A=2 and B=-1, A^5-B^5 = 33.

Sample Input 2

1

Sample Output 2

0 -1

Solution in OCaml (4.10.0) (judge verdict: Accepted)

module IntMap = Map.Make (struct
  type t = int
  let compare = compare
end)


let () = Scanf.scanf "%d" @@ fun n ->
  let rec pow5s acc i =
    if n < i * i * i * i
    then acc
    else pow5s (IntMap.add (i * i * i * i * i) i acc) (i + 1) in
  let pow5s = pow5s IntMap.empty 0 in
  let Some (a, b) =
    IntMap.fold (fun pow5a a ans ->
      match IntMap.find_opt (abs (pow5a - n)) pow5s with
      | None -> ans
      | Some b -> Some (a, if pow5a - n <= 0 then ~- b else b)) pow5s None in
  Printf.printf "%d %d\n" a b