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 Rust (1.42.0) (judge verdict: Accepted)

use std::io::stdin;

fn main() {
    let mut s = String::new();
    stdin().read_line(&mut s).ok();
    let x: i128 = s.trim().parse().unwrap();

    'outer: for i in -10000i128..=10000 {
        //for j in -10000i128..=10000 {
        let mut l: i128 = -10000;
        let mut r: i128 = 10000;
        let mut m: i128;
        while l < r {
            m = (l + r) / 2;
            let t = i.pow(5) - m.pow(5);
            if t == x {
                println!("{} {}", i, m);

                break 'outer;
            } else if t < x {
                r = m - 1;
            } else {
                l = m;
            }
        }
    }
}