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: Time Limit Exceeded)

import sys
from math import ceil, floor, sqrt, sin, cos, pi
from itertools import accumulate, permutations, combinations
from fractions import gcd # 最大公約数
from collections import deque, Counter
from operator import itemgetter
from heapq import heappop,heappush
sys.setrecursionlimit(10**7)
def lcm(x, y): return ((x * y) // gcd(x, y)) # 最小公倍数
# list(map(int, input().split()))

x = int(input())
t = x**(1/5)
if isinstance(t, complex):
    y = ceil(t.real)
else:
    y = ceil(t)
cnt = 0
if y == floor(t):
    print(y, 0)
    sys.exit()
bfp = 0
bcp = 0
bfm = 0
bcm = 0
while True:
    for a in range(y - cnt, y + cnt + 1):
        a5 = a**5
        t = (a5 - x)**(1/5)
        if isinstance(t, complex):
            bfp = floor(t.real)
            bcp = ceil(t.real)
            bfm = bfp * -1
            bcm = bcp * -1
        else:
            bf = floor(t)
            bc = ceil(t)
            bfm = bfp * -1
            bcm = bcp * -1
        if a5 - bfp**5 == x:
            print(a, bfp)
            sys.exit()
        elif a5 - bcp**5 == x:
            print(a, bcp)
            sys.exit()
        elif a5 - bfm**5 == x:
            print(a, bfm)
            sys.exit()
        elif a5 - bcm**5 == x:
            print(a, bcm)
            sys.exit()
    cnt += 1