program prob3
    implicit none
    integer::X,i,j,k,ans
    integer::v(1000)
    read(*,*) X
    v = 0
    do i = 1, 34
        do j = 2,10
            if(i**j > 1000)then
                exit
            else
                v(i**j) = 1
            end if
        end do
    end do

    do i = 1,X
        if(v(i) == 1) then
            ans = i
        end if
    end do

    write(*,*) ans

end program