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 JavaScript (Node.js 12.16.1) (judge verdict: Accepted)

"use strict"
function pow5(i) {
    return Math.pow(i , 5)
}
function main(arg) {
    const MAX_INT = Number.MAX_SAFE_INTEGER 
    // const MAX_INT = 10000
    let X = Number(arg.trim().split("\n")[0])
    // let list = []
    // for (let i = 0; i < 50000; i++) {
    //     let a = Math.pow(i , 5)
    //     list.push(a)
    //     if (a > Math.pow(10, 9)) {
    //         break
    //     }
    //     // console.log(Math.pow(i , 5))
    // }
    let finish = false
    for (let i = 0; i < MAX_INT; i++ ) {
        let A = pow5(i)
        // +
        for (let j = 0; j < MAX_INT; j++) {
            let B = pow5(j)
            if (A - B === X) {
                console.log([i, j].join(" "))
                finish = true
                break
            }
            if (j > 0) {
                let _B = pow5(j - 1)
                if (Math.abs(X - (A - B)) > Math.abs(X - (A - _B))) {
                    break
                }
            }
        }
        if (finish) return
        // -
        for (let j = 0; j < MAX_INT; j++) {
            let B = pow5(j) * -1
            if (A - B === X) {
                console.log([i, j * -1].join(" "))
                finish = true
                break
            }
            if (j > 0) {
                let _B = pow5(j - 1) * -1
                if (Math.abs(X - (A - B)) > Math.abs(X - (A - _B))) {
                    break
                }
            }
        }
        if (finish) return
    }
    // console.log()
}
main(require('fs').readFileSync('/dev/stdin', 'utf8'));