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 Python (3.8.2) (judge verdict: Accepted)

from itertools import combinations
import numpy as np
import math
X = int(input())
if X == 0:
    print(1, 1)
    exit()

def prime_factorize(n):
    a = [1]
    while n % 2 == 0:
        a.append(2)
        n //= 2
    f = 3
    while f * f <= n:
        if n % f == 0:
            a.append(f)
            n //= f
        else:
            f += 2
    if n != 1:
        a.append(n)
    return a

def judge(a, b):
    right = a ** 4 + a ** 3 * b + a ** 2 * b ** 2 + a * b ** 3 + b ** 4
    if (a - b) * right == X:
        return True
    else:
        return False

prime = prime_factorize(X)
cand = []
if len(prime) == 1:
    cand = prime
else:
    for r in range(1, len(prime)):
        for i in list(combinations(prime, r)):
            tmp = np.prod(np.array(list(i)))
            if tmp * tmp <= X:
                cand.append(tmp)
    cand = set(cand)

for c in cand:
    for a in range(0, int(math.sqrt(X)) + 1)[::-1]:
        b = a - c
        if judge(a, b):
            print(a, b)
            exit()