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: Accepted)

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

namespace MyProject
{
    class Program
    {
        static void Main(string[] args)
        {
#if Local
            var sw = new Stopwatch();
            sw.Start();
            Console.SetIn(new StreamReader("input.in"));
#endif

            var solver = new Solver();
            solver.Solve();
#if Local
            Console.WriteLine($"{sw.ElapsedMilliseconds}ms");
#endif
        }
    }

    class Solver
    {
        public void Solve()
        {
            var answerList = new Dictionary<double, Tuple<long, long>>();
            const int num = 2000;
            foreach (var A in Enumerable.Range(0, num).Select(elem => elem - (num / 2)))
            {
                foreach (var B in Enumerable.Range(0, num).Select(elem => elem - (num / 2)))
                {
                    var answer = Math.Pow(A, 5) - Math.Pow(B, 5);
                    if (answer >= 1)
                    {
                        answerList[answer] = new Tuple<long, long>(A, B);
                    }
                }
            }

            var X = long.Parse(Console.ReadLine());
            var tuple = answerList[X];
            Console.WriteLine($"{tuple.Item1} {tuple.Item2}");
        }
    }
}