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;
#define rep(i,n) for (int i =0;i<(n);++i)
using ll = long long;
using P = pair<int, int>;
//int choose2(ll x){
	//	return x*(x-1)/2;}
const int INF = 1001001001;

int main() {
	int A,B;
	ll X, tmp;
	cin >>X;
	A = 0;
	int flug = 0;
	rep(i, 100) {
		rep(j, i) {
			if ((i*i*i*i*i+j*j*j*j*j) == X) {
				flug = 1;
				A = i;
				B = j * (-1);
				break;
			}
		}
	}
	while (flug == 0) {
		A++;
		B = 0;
		tmp = 0;
		while (tmp < (X / (A - B))) {
			tmp = (A + B) * (pow(A, 3) + pow(B, 3)) + A * A * B * B;
			if ((X % tmp == 0) && (X / tmp == A - B)) {
				flug = 1;
				break;
			}
			if (B >= A-1)break;
			else B++;
		}
	}
		
		
	cout << A << " " << B;

	
}