/*#include<stdio.h>

int n, a[200002],ans;
int main()
{
	scanf("%d", &n);
	for (int i = 1; i <= n; i++)
	{
		scanf("%d", &a[i]);
	}
	for (int i = 1; i < n; i++)
	{
		for (int j = i + 1; j <= n; j++)
		{
			if (j - i == a[j] + a[i])
				ans++;
		}
	}
	printf("%d", ans);
}*/
#include<stdio.h>
#include<math.h>
int main()
{
	int x;
	scanf("%d", &x);
	if (x > 0)
	{
		for (int t = 1; t <= x; t++)
		{
			if (x % t == 0)
			{				
				for (int b = -t / 2;; b--)
				{
					if ((int)(pow(b + t, 5) - pow(b, 5)) == x)
					{
						printf("%d %d", b + t, b);
						return 0;
					}
					if ((int)(pow(b + t, 5) - pow(b, 5)) > x)
						break;
				}
				for (int b = -t / 2;; b++)
				{
					if ((int)(pow(b + t, 5) - pow(b, 5)) == x)
					{
						printf("%d %d", b + t, b);
						return 0;
					}
					if ((int)(pow(b + t, 5) - pow(b, 5)) > x)
						break;
				}
			}
		}
	}
	if (x == 0)
	{
		printf("0 0");
	}
	if (x < 0)
	{
		for (int t = -1; t >= x; t--)
		{
			if (x % t == 0)
			{
				for (int b = -t / 2;; b--)
				{
					if ((int)(pow(b + t, 5) - pow(b, 5)) == x)
					{
						printf("%d %d", b + t, b);
						return 0;
					}
					if ((int)(pow(b + t, 5) - pow(b, 5)) < x)
						break;
				}
				for (int b = -t / 2;; b++)
				{
					if ((int)(pow(b + t, 5) - pow(b, 5)) == x)
					{
						printf("%d %d", b + t, b);
						return 0;
					}
					if ((int)(pow(b + t, 5) - pow(b, 5)) < x)
						break;
				}
			}
		}
	}
}