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: Wrong Answer)

#include<bits/stdc++.h>

#define fi first
#define se second
#define inf 0x3f3f3f3f
#define llinf 0x3f3f3f3f3f3f3f3f

using namespace std;
using ll = long long;
using pi = pair<int, int>;
using pll = pair<ll, ll>;

#define MAX 201

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);

	ll x; cin>>x;
	vector<ll> pow5(MAX);
	for (ll i = -100; i <= 100; ++i)
		pow5[i+100] = i*i*i*i*i;

	ll i = 0, j;
	bool obj = false;
	while(!obj && i < MAX)
	{
		ll hi = MAX-1, lo = 0;
		j = (hi+lo)/2;
		
		while(pow5[i]-pow5[j] != x && lo <= hi)
		{
			if (pow5[i] - pow5[j] < x)
				hi = j-1;
			else
				lo = j+1;
			j = (hi+lo)/2;
		}
		if (pow5[i] - pow5[j] == x)
			obj = true;
		++i;
	}
	--i;
	if (!obj)
		cout<<-1<<'\n';
	else
		cout<<i-100<<' '<<j-100<<'\n';
	return 0;
}