#次の素数 def Next_Prime(N,K=1): """ Nを上回る自然数のうち,K番目に小さい素数 N:自然数 """ if K>0: while K>0: N+=1 if Is_Prime(N): K-=1 else: while K<0: N-=1 if Is_Prime(N): K+=1 return N #素数判定 def Is_Prime(N): N=abs(N) if N<=1: return False k=2 while k*k<=N: if N%k==0: return False k+=1 return True #================================================ N=int(input()) if N==1: print(1) exit() N-=1 T=[] for i in range(1,N+1): T.append(Next_Prime(10**5,i)) P=list(set(a*b for a in T for b in T)) P.sort() print(P[N-1])