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>
using namespace std;

int main(){
  int X;
  cin >> X;
//  A^5-B^5=X;
//  (A-B)(A^4+A^3B+A^2B^2+AB^3+B^4)=X;
  int F4=(int)pow(X, 0.25)+1;
  int F5=(int)pow(X, 0.2)-1;
// A>0;
  for(int i=0; i<=F4; i++){
    int B=(int)pow(i, 5)-X;
    int b;
    if(B>=0){
      b=(int)pow(B, 0.2);
    }
    else{
      b=-(int)pow(-B, 0.2);
    }
    if((int)pow(b, 5)==B){
      cout << i << " " << b << endl;
      goto finish;
    }
  }

// A<0, B<0
// -(-A)^5+(-B)^5=X
// (-B)^5-(-A)^5=X
  for(int i=0; i<=F4; i++){
    int mA=(int)pow(i, 5)-X;
    int ma;
    if(mA>=0){
      ma=(int)pow(mA, 0.2);
    }
    else{
      ma=-(int)pow(-mA, 0.2);
    }
    if((int)pow(ma, 5)==mA){
      cout << -ma << " " << -i << endl;
    }
  }
finish: X=0;
}