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 PyPy3 (7.3.0) (judge verdict: Time Limit Exceeded)

'''
.append(要素) リストに要素を追加
.extend(リスト) リストを連結する
.insert(場所,要素) 指定した場所に要素追加
del 配列名[場所]
-1で末尾で末尾から一つ前

sort()
sorted(reverse=true)

配列の初期化
配列名=[a]*n+[b]*m

Decimal()
'''

from sys import stdin
from itertools import accumulate, dropwhile, takewhile, groupby
import bisect
import copy
import math
from functools import reduce
from operator import mul
from collections import Counter
import itertools
import fractions


def show_divisors(n):
    divisors = []
    for i in range(1, int(n**0.5)+1):
        if n % i == 0:
            divisors.append(i)
            if i != n // i:
                divisors.append(n//i)
    divisors.sort()
    return divisors


t = int(stdin.readline().rstrip())
data = show_divisors(t)

x = data[0]
if len(data) > 2:
    x = data[1]
b = 0
while True:
    paraT = ((b + x) ** 4 + b * (b + x) ** 3 + (b ** 2)
             * (b + x) ** 2 + (b ** 3) * (b + x) + b ** 4)
    paraF = ((-b + x) ** 4 + (-b) * (-b + x) ** 3 + ((-b) ** 2)
             * (-b + x) ** 2 + ((-b) ** 3) * (-b + x) + b ** 4)
    if paraT * x == t:
        print(str(b + x) + ' ' + str(b))
        break
    if paraF * x == t:
        print(str(-b + x) + ' ' + str(-b))
        break
    b += 1