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)

#import numpy as np
#import math
#from decimal import *
#from numba import njit

#@njit
def main():
    X = int(input())

    p = []
    def pow5(n):
        nonlocal p
        if len(p) > n:
            return p[n]
        ans = pow(n,5)
        p += ans,
        return ans

    a = 0
    b = 0
    while True:
        if abs(X) + pow5(b) == pow5(a) or abs(X) - pow5(b) == pow5(a) :
            a5 = pow5(a)
            b5 = pow5(b)
            if X == a5 - b5:
                print(a,b)
            elif X == a5 + b5:
                print(a, -b)
            elif X == -a5 - b5:
                print(-a, b)
            else:
                print(-a, -b)
            return
        while abs(X) + pow5(b) > pow5(a):
            a += 1
            if abs(X) + pow5(b) == pow5(a) or abs(X) - pow5(b) == pow5(a) :
                a5 = pow5(a)
                b5 = pow5(b)
                if X == a5 - b5:
                    print(a,b)
                elif X == a5 + b5:
                    print(a, -b)
                elif X == -a5 - b5:
                    print(-a, b)
                else:
                    print(-a, -b)
                return
        a = 0
        b += 1

main()