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)

#![allow(unused_imports)]
use std::cmp::*;
use std::collections::*;
use itertools::Itertools;
use proconio::{input, marker::*};
use superslice::*;
fn main() {
    input! {
        x: i64,
    }

    for b in (0..) {
        let ap = x + five(b);
        let am = x + five(-b);
        if five(root5(ap)) == ap {
            println!("{} {}", root5(ap), b);
            return;
        }
        if five(root5(am)) == am {
            println!("{} {}", root5(am), -b);
            return;
        }
    }

}

fn five(x: i64) -> i64 {
    x * x * x * x * x
}
fn root5(x: i64) -> i64 {
    (x as f64).powf(0.2f64) as i64
}