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 Kotlin (1.3.71) (judge verdict: Wrong Answer)

import java.util.*

fun main(args: Array<String>) {
    val scanner = Scanner(System.`in`)
    val x = scanner.nextInt()
    val array = IntArray(74)
    for(i in 0..73){
        array[i] = Math.pow(i.toDouble(), 5.0).toInt()
    }
    /*for(i in 0..73){
        println(array[i])
    }*/
    //var result = Pair(0,0)
    //A>=0 B>=0
    for(i in 0..73){
        for(j in 0..i){
            if(Math.pow(i.toDouble(), 5.0).toInt() - Math.pow(j.toDouble(), 5.0).toInt() === x){
                println("$i $j")
                return
            }
        }
    }
    //A>=0 B<0
    for(i in 0..73){
        for(j in 0..73){
            if(Math.pow(i.toDouble(), 5.0).toInt() + Math.pow(j.toDouble(), 5.0).toInt() === x){
                println("$i -$j")
                return
            }
            if(Math.pow(i.toDouble(), 5.0).toInt() + Math.pow(j.toDouble(), 5.0).toInt() > x) break
        }
    }
    //A<0 B<0
    for(i in 0..73){
        for(j in 0..i){
            if(-Math.pow(i.toDouble(), 5.0).toInt() + Math.pow(j.toDouble(), 5.0).toInt() === x){
                println("-$i -$j")
                return
            }
            if(-Math.pow(i.toDouble(), 5.0).toInt() + Math.pow(j.toDouble(), 5.0).toInt() > x) break
        }
    }

}