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 Java (OpenJDK 1.8.0) (judge verdict: Time Limit Exceeded)

import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        int x = sc.nextInt();
        ArrayList<Integer> fact5 = getFact5();
        for(int i = 0; i <= 100000; i++){
            for(int j = 0; j <= 10000; j++){
                int chk = fact5.get(i);
                int chk2 = fact5.get(j);
                if(chk + chk2 == x){
                    System.out.println(i + " " + -j);
                    return;
                }else if(chk - chk2 == x){
                    System.out.println(i + " " + j);
                    return;
                }else if(-chk + chk2 == x){
                    System.out.println(-i + " " + -j);
                    return;
                }else if(-chk - chk2 == x){
                    System.out.println(-i + " " + j);
                    return;
                }
            }
        }
    }
    
    public static ArrayList<Integer> getFact5(){
        int n = 100000;
        ArrayList<Integer> li = new ArrayList<Integer>();
        for(int i = 0; i <= n; i++){
            int chk = (int)Math.pow(i,5);
            li.add(chk);
        }
        return li;
    }
}