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 C# (.NET Core 3.1.201) (judge verdict: Runtime Error)

using System;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Linq;
using System.Collections.Generic;
using System.Text.RegularExpressions;

class Program
{
    const string Yes = "Yes";
    const string No = "No";
    const long Mod = 1000000007;

    static void Main(string[] args) {
#if DEBUG
        MyDebugger.Test(process, "../TextFile1.txt");
#else
        object ret = process(new StreamReader(Console.OpenStandardInput()));
        Console.WriteLine(ret);
#endif
    }

    static object process(TextReader input) {
        var x = long.Parse(input.ReadLine());

        var dic = new Dictionary<long, long>();
        long ra=0;
        long rb=0;

        for(long i=-(x/2)-1; i<x/2+1; i++) {
            var a = i;
            var a5 = (long)Math.Pow(a, 5);

            dic.Add(a5, a);
            var b5 = a5 - x;

            if (dic.ContainsKey(b5)) {
                ra = a;
                rb = dic[b5];
                break;
            }
        }

        return ra + " " + rb;
    }

    //static long Pow(long x, long n) {
    //    long ans = 1;
    //    while (n > 0) {
    //        if (n % 2 == 1) {
    //            ans = ans * x;
    //        }
    //        x = x * x;
    //        n /= 2;
    //    }
    //    return ans;
    //}
}