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::{self, BufRead};

fn find(x: i64) -> Option<(i64, i64)> {
  for i in 1..200 {
    let i5 = i*i*i*i*i;
    for k in (-i+1)..(i+1) {
      let j = -k;
      let j5 = j*j*j*j*j;
      if i5 - j5 == x {
        return Some((i, j));
      }
    }
  }
  None
}

fn main() {
  let stdin = io::stdin();
  let mut lines = stdin.lock().lines();
  let x: i64 = lines.next().unwrap().unwrap().parse().unwrap();
  if let Some((i, j)) = find(x) {
    println!("{} {}", i, j);
  }
}