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(){
  int64_t X; cin >> X;
  
  int64_t Max = 78;/*
  for(int i = 0; i <= X; i++){
    if(i*i*i*i > X){
      Max = i;
      break;
    }
  }*/
  
  for(int64_t B = Max; B >= 1; B--){ //A+B
    int64_t rem = X - B*B*B*B*B;
    if(rem < 0)
      continue;
    for(int64_t A = B; A >= 0; A--){
      if(A*A*A*A*A < rem){
        break;
      }
      if(A*A*A*A*A == rem){
        cout << B << ' ' << (-1)*A << endl;
        return 0;
      }
    }
  }
  
  for(int64_t B = Max; B >= 1; B--){ //A-B
    int64_t rem = B*B*B*B*B - X;
    for(int64_t A = B-1; A >= 0; A--){
      if(A*A*A*A*A < rem){
        break;
      }
      if(A*A*A*A*A == rem){
        cout << B << ' ' << A << endl;
        return 0;
      }
    }
  }
  cout << "error" << endl;
}