Problem: 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

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

Examples

Input

33


Output

2 -1


Input

1


Output

0 -1

Solution (in JAVA):

Solution:

import java.util.Scanner;

public class Main {

     static Scanner scanner;

     public static void main(String[] args) {
         scanner = new Scanner(System.in);

         long X=gl();

         long A=0;
         long B=0;
         while(true) {
        	 long A5=(long)Math.pow(A, 5);
        	 if(A5>=0) {
        		 long B5=A5-X;
        		 double div=1d/5d;
        		 double d=Math.pow(Math.abs(B5), div);
        		 B=B5>=0 ? Math.round(d) : -Math.round(d);
        		 if(A5-Math.pow(B, 5)==X) {
        		     break;
        	     }
        		 A5=-A5;
        		 B5=A5-X;
        		 d=Math.pow(Math.abs(B5), div);
        		 B=B5>=0 ? Math.round(d) : -Math.round(d);
        		 if(A5-Math.pow(B, 5)==X) {
        			 A=-A;
        		     break;
        	     }
        	 } else {
        		 break;
        	 }
        	 A++;
         }


         System.out.println(A + " " + B);
     }

     // 文字列として入力を取得
     public static String gs() {
          return scanner.next();
     }

     // intとして入力を取得
     public static int gi() {
          return Integer.parseInt(scanner.next());
     }

     // longとして入力を取得
     public static long gl() {
          return Long.parseLong(scanner.next());
     }

     // doubleとして入力を取得
     public static double gd() {
          return Double.parseDouble(scanner.next());
     }
}