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)

fun main(args: Array<String>) {
  val X = readLong()
  for (a in 1 until 10) {
    val a2 = a * a
    val a5 = a2 * a2 * a
    val d = Math.abs(X - a5)
    val b = Math.round(Math.pow(Math.E, Math.log(d.toDouble()) / 5))
    val b2 = b * b
    val b5 = b2 * b2 * b
    val p = a5 + b5
    val n = a5 - b5
//    println("$X, $a $b, $a5 + $b5 = $p, $a5 - $b5 = $n")
    if (p == X) {
      println(if (b == 0L) "$a $b" else "$a -$b")
      break
    }
    if (n == X) {
      println("$a $b")
      break
    }
  }
}

fun readString() = readLine()!!
fun readStrings() = readString().split(" ")
fun readInt() = readString().toInt()
fun readLong() = readString().toLong()
fun readInts() = readStrings().map { it.toInt() }
fun readLongs() = readStrings().map { it.toLong() }