### BUGGY CODE ###

def factorization(num):
  if num == 1:
    return [1]
  factor = []
  while num > 1:
    for i in range(num - 1):
      k = i + 2
      if num % k == 0:
        factor.append(k)
        num = int(num / k)
        break
  return factor
  
x=int(input())
a=0
b=0
a_b=0
y=factorization(x)
len_y=len(y)
z=set(y)


z=list(z)
#print(z)
for j in range(len(z)):
  a_b=z[j]
  for k in range(a_b):
    a=a_b+k
    b=k
    if a**5-b**5== x:
      print("%d %d" % (a,b))
      exit()
    a=a_b-k
    b=0-k
    if a**5-b**5== x:
      print("%d %d" % (a,b))
      exit()
      
if len_y > 2:
  z=set([])
  for l in range(0,len_y-1):
    for m in range(l,len_y):
      z=z|set([y[l]*y[m]])
  z=list(z)
  for j in range(len(z)):
    a_b=z[j]
    for k in range(a_b):
      a=a_b+k
      b=k
      if a**5-b**5== x:
        print("%d %d" % (a,b))
        exit()
      a=a_b-k
      b=0-k
      if a**5-b**5== x:
        print("%d %d" % (a,b))
        exit()
    
if len_y > 3:
  z=set([])
  for l in range(0,len_y-2):
    for m in range(l,len_y-1):
      for n in range(m,len_y):
        z=z|set([y[l]*y[m]*y[n]])
  z=list(z)
  for j in range(len(z)):
    a_b=z[j]
    for k in range(a_b):
      a=a_b+k
      b=k
      if a**5-b**5== x:
        print("%d %d" % (a,b))
        exit()
      a=a_b-k
      b=0-k
      if a**5-b**5== x:
        print("%d %d" % (a,b))
        exit()

if len_y > 4:
  z=set([])
  for l in range(0,len_y-3):
    for m in range(l,len_y-2):
      for n in range(m,len_y-1):
        for p in range(n,len_y):
          z=z|set([y[l]*y[m]*y[p]])
  z=list(z)
  for j in range(len(z)):
    a_b=z[j]
    for k in range(a_b):
      a=a_b+k
      b=k
      if a**5-b**5== x:
        print("%d %d" % (a,b))
        exit()
      a=a_b-k
      b=0-k
      if a**5-b**5== x:
        print("%d %d" % (a,b))
        exit()

if len_y > 5:
  z=set([])
  for l in range(0,len_y-4):
    for m in range(l,len_y-3):
      for n in range(m,len_y-2):
        for p in range(n,len_y-1):
          for q in range(p,len_y):
            z=z|set([y[l]*y[m]*y[p]*y[q]])
  z=list(z)
  for j in range(len(z)):
    a_b=z[j]
    for k in range(a_b):
      a=a_b+k
      b=k
      if a**5-b**5== x:
        print("%d %d" % (a,b))
        exit()
      a=a_b-k
      b=0-k
      if a**5-b**5== x:
        print("%d %d" % (a,b))
        exit()

### FIXED CODE ###

r=[59049,243,1,3125,1024,16807,32768,7776,0,32, \
371293,161051,100000,537824,1419857,1048576,1889568,248832,2476099,759375, \
20511149,11881376,7962624,9765625,4084101,3200000,5153632,14348907,17210368,6436343, \
33554432,60466176,28629151,69343957,79235168,52521875,24300000,45435424,90224199,39135393, \
229345007,254803968,184528125,102400000,130691232,147008443,205962976,164916224,282475249,115856201, \
601692057,418195493,459165024,380204032,312500000,345025251,714924299,503284375,550731776,656356768, \
1160290625,1350125107,916132832,1564031349,844596301,1252332576,1453933568,777600000,992436543,1073741824, \
2706784157,2887174368,3077056399,1934917632,2373046875,2535525376,2219006624,2073071593,1804229351,1680700000, \
3939040643,4437053125,4182119424,3276800000,3707398432,5277319168,5584059449,3486784401,4704270176,4984209207, \
7339040224,8587340257,6240321451,5904900000,6590815232,6956883693,7737809375,8153726976,9509900499,9039207968, \
10000000000,12762815625,11040808032,14693280768,15386239549,11592740743,14025517307,13382255776,12166529024,10510100501, \
20113571875,16105100000,17623416832,22877577568,21003416576,18424351793,21924480357,23863536599,19254145824,16850581551, \
33038369407,28153056843,27027081632,24883200000,30517578125,35723051649,34359738368,25937424601,31757969376,29316250624, \
46525874176,51888844699,41615795893,43204003424,40074642432,38579489651,44840334375,37129300000,48261724457,50049003168, \
57735339232,61917364224,71008211968,64097340625,68641485507,55730836701,66338290976,53782400000,73439775749,59797108943, \
75937500000,101621504799,78502725751,83841135993,92389579776,95388992557,89466096875,81136812032,98465804768,86617093024, \
118636749824,129891985607,108175616801,137858491849,122298103125,133827821568,115063617043,111577100832,104857600000,126049300576, \
146211169851,141985700000,159494694624,154963892093,173726604657,150536645632,168874213376,164130859375,178689902368,183765996899, \
199690286432,194264244901,188956800000,205236901143,216699865625,222620278176,210906087424,241162079949,234849287168,228669389707, \
312079600999,254194901951,274794888224,289254654976,296709280757,267785184193,304316815968,260919263232,281950621875,247609900000]
r.sort()
x=int(input())
for i in r:
  for j in r:
    if i-j ==x:
      print("%d %d" % (int(i**0.2),int(j**0.2)))
      exit()
    if i+j ==x:
      print("%d -%d" % (int(i**0.2),int(j**0.2)))
      exit()