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::Read;

fn main() {
    let mut buf = String::new();
    std::io::stdin().read_to_string(&mut buf).unwrap();

    let answer = solve(&buf);

    println!("{}", answer);
}

fn solve(input: &str) -> String {
    let mut iterator = input.split_whitespace();

    let x: isize = iterator.next().unwrap().parse().unwrap();

    for a in 0..1000 {
        for b in 0..1000 {
            let a5: isize = a * a * a * a * a;
            let b5: isize = b * b * b * b * b;
            if a5 - b5 == x {
                return format!("{} {}", a, b);
            }
            if (-a5) - b5 == x {
                return format!("{} {}", -a, b);
            }
            if a5 - (-b5) == x {
                return format!("{} {}", a, -b);
            }
            if (-a5) - (-b5) == x {
                return format!("{} {}", -a, -b);
            }
        }
    }

    return String::new();
}