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: Time Limit Exceeded)

import kotlin.math.*

private fun readLn() = readLine()!! // string line
private fun readInt() = readLn().toInt() // single int
private fun readLong() = readLn().toLong() // single long
private fun readStrings() = readLn().split(" ") // list of strings
private fun readInts() = readStrings().map(String::toInt) // list of ints
private fun readLongs() = readStrings().map(String::toLong) // list of longs

fun main() {
    val x = readLong()

    val memo = mutableMapOf<Int, Long>()

    fun p(c: Int): Long {
        val m = memo[c]
        if (m != null) {
            return m
        }
        val p = Math.pow(c.toDouble(), 5.0).toLong()
        memo[c] = p
        return p
    }

    var a = 0
    while (a < x) {
        (-100..100).forEach {
           if (p(a) - p(it) == x) {
               println("$a $it")
               return
           }
        }
        a++
    }
}