#エラトステネスの篩 def Sieve_of_Eratosthenes(N,mode=False): """Nまでのエラトステネスの篩を実行 N:自然数 mode:False->素数のリスト,True->素数かどうかのリスト (False->[2,3,5,...],True->[False,False,True,True,False,True,...]) """ T=[True]*(N+1) T[0]=T[1]=0 a=2 while a*a<=N: if T[a]: b=a*a while b<=N: T[b]=False b+=a a+=1 if mode: return T else: return [k for k in range(N+1) if T[k]] #素数判定 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()) P=Sieve_of_Eratosthenes(10**5,False) if N==1: print(1) exit() N-=1 K=10**10 while N: K+=1 F=True for p in P: F&=(K//p!=0) if F: if not Is_Prime(K): N-=1 print(K)