""" n択問題m問なので、m**n通り 答えはmin(nm|a<=m**n) 2<=a<=10**18 ~ 2**60 ->答えは最大でも120 """ a=int(input()) ans=130 for x in range(2,130): st=set() for y in range(1,int(x**0.5)+3): if x%y==0: st.add((x//y,y)) for u,v in st: if a<=pow(u,v): ans=min(ans,x) if a<=pow(v,u): ans=min(ans,x) print(ans)