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: Wrong Answer)

using System;
using System.Collections.Generic;
using System.Linq;

namespace CSharpSample01
{
	class Program
	{



	static void Main(string[] args)
		{
			var X = long.Parse(Console.ReadLine());

			var fifthDic = new Dictionary<int, long>() { { 0, 0 }, { 1,1 } };
			var fifthMinusDic = new Dictionary<int, long>() { { 0, 0 }, { 1, -1 } };

			long fifth = 0;
			var count = 2;

			// お題手前の5乗の値を計算
			while(X > fifth)
			{
				fifth = count * count * count * count * count;
				fifthDic.Add(count, fifth);
				fifthMinusDic.Add(count, -fifth);

				count++;
			}

			int A = count - 2;
			long giriValue = fifthDic[A];
			long targetValue = X - giriValue;
			int B = 0;
			bool search = false;

			for (int i = 0; i < count; i++)
			{
				if(targetValue == fifthDic[i])
				{
					B = -i;
					search = true;
					break;
				}
			}

			if (!search)
			{
				A = count - 1;
				giriValue = fifthDic[A];
				targetValue = X - giriValue;
				B = 0;

				for (int i = 0; i < count; i++)
				{
					if (targetValue == fifthMinusDic[i])
					{
						B = i;
						break;
					}
				}

			}

			Console.WriteLine($"{A} {B}");

		}
	}
}