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 rep(i,n) for(int (i)=0;(i)<(n);(i)++)
using namespace std;
#define int long long
signed main(){
  int X;
  cin >> X;
  int a = 1;
  int b = 1;
  for(int i = 1;i <= 5;i++){
    a *= 120;
    b *= 119;
  }
  cout << a << b;
  for(int i = 0;i < 1000;i++){
    for(int j = 0;i < 1000;j++){
      if(j*j*j*j*j - j-1*j-1*j-1*j-1*j-1 > X)break;
      if(i*i*i*i*i - j*j*j*j*j == X){cout << i << " " << j;return 0;}
      if(j*j*j*j*j - i*i*i*i*i == X){cout << j << " " << i;return 0;}
      i *= -1;
      if(i*i*i*i*i - j*j*j*j*j == X){cout << i << " " << j;return 0;}
      if(j*j*j*j*j - i*i*i*i*i == X){cout << j << " " << i;return 0;}
      i *= -1;
      j *= -1;
      if(i*i*i*i*i - j*j*j*j*j == X){cout << i << " " << j;return 0;}
      if(j*j*j*j*j - i*i*i*i*i == X){cout << j << " " << i;return 0;}
      j *= -1;
    }

  }
  
}