program answer
  implicit none

  integer :: X, i, ans
  integer :: b(40)

  read(*,*) X

  if(X==1) then
     write(*,*) 1
     stop
  end if

  b(1)=4
  b(2)=8
  b(3)=16
  b(4)=32
  b(5)=64
  b(6)=128
  b(7)=256
  b(8)=512
  b(9)=9
  b(10)=27
  b(11)=81
  b(12)=243
  b(13)=729
  b(14)=25
  b(15)=125
  b(16)=625
  b(17)=49
  b(18)=343
  b(19)=121
  b(20)=169
  b(21)=289
  b(22)=361
  b(23)=529
  b(24)=841
  b(25)=961
  b(26)=36
  b(27)=216
  b(28)=100
  b(29)=1000
  b(30)=144
  b(31)=196
  b(32)=225
  b(33)=324
  b(34)=400
  b(35)=441
  b(36)=484
  b(37)=576
  b(38)=676
  b(39)=784
  b(40)=900
  

  ans=b(1)
  do i = 2, 40
     if(b(i)>ans.and.b(i)<=X) then
        ans = b(i)
     end if
  end do

  write(*,*) ans

  stop
 end program answer

  
