# nまでの素数を要素にもつ集合を返す関数 def primesUpTo(n): primes=set(range(2,n+1)) for i in range(2,n): if i in primes: it = i ** 2 while it <= n: if it in primes: primes.remove(it) it += i return primes def digit_hash(n): result=0 while(n!=0): result+=n%10 n//=10 if result<10: return result else: return digit_hash(result) k=int(input()) n=int(input()) P=sorted(list(primesUpTo(n))) from collections import deque Q=deque() cnt=0 max_cnt=0 hash=[0 for _ in range(10)] max_p=0 for i in range(len(P)): p=P[i] if p=max_cnt: max_cnt=cnt max_p=i-cnt+1 print(P[max_p])