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 <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <map>
#define rep(i,cc,n) for(int i=cc;i<=n;++i)
#define drep(i,cc,n) for(int i=cc;i>=n;--i)
template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }
const long long INF = 1LL <<60;
typedef long long ll;
using namespace std;

ll gcd(ll a, ll b) {
    if (b==0) return a;
    else return gcd(b, a%b);
}

ll lcm(ll a, ll b) {
    return a * b / gcd(a, b);
}

ll choose2(ll n){
    return n*(n-1)/2;
}

int main(){
    ll x;
    cin>>x;
    ll a = 0,b = 0;
    while(1){
        rep(i,0,pow(x,1.0/5.0)){
            b++;
            ll hoge_b = -1 * b;
            ll hoge_a = -1 * a;
            if(pow(a,5) - pow(b,5) == x){
                cout<<a<<" "<<b<<endl;
                return 0;
            }

            else if(pow(a,5) - pow(hoge_b,5) == x){
                cout<<a<<" "<<hoge_b<<endl;
                return 0;
            }

            else if(pow(hoge_a,5) - pow(b,5) == x){
                cout<<hoge_a<<" "<<b<<endl;
                return 0;
            }

            else if(pow(hoge_a,5) - pow(hoge_b,5) == x){
                cout<<hoge_a<<" "<<hoge_b<<endl;
                return 0;
            }
        }
        b = 0;
        a++;
    }
    return 0;
}