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 C++ (GCC 9.2.1) (judge verdict: Time Limit Exceeded)

#include <bits/stdc++.h>

using namespace std;

map< long long, int > prime_factor(long long n) {
	map< long long, int > ret;
	for (long long i = 2; i * i <= n; i++) {
		while (n % i == 0) {
			ret[i]++;
			n /= i;
		}
	}
	if (n != 1) ret[n] = 1;
	return ret;
}

int main() {
	map<long long , int > a;
	long long x;
	cin >> x;
	a=prime_factor(x);
	a.insert(make_pair(1, 1));
	a.insert(make_pair(x, 1));
	auto iter = a.begin();

	while (1) {

		long long aa = 0;
		long long bb = 0;
		for (long i = -10000; i <= 10000; i++) {
			aa = i;
			bb = aa-iter->first;
			if (pow(aa, 5) - pow(bb, 5) == x) {
				cout << aa << " " << bb << endl;
				return 0;
			}
//			if (pow(aa, 5) > x) { break; }
		}
//		if (iter == a.end()) { break; }
		iter=next(iter, 1);
	}
}