import sys input=lambda: sys.stdin.readline().rstrip() k=int(input()) n=int(input()) import bisect def primes(n): is_prime=[True]*(n+1) is_prime[0]=False is_prime[1]=False for i in range(2,int(n**0.5)+1): if not is_prime[i]: continue for j in range(i*2,n+1,i): is_prime[j]=False return [i for i in range(n+1) if is_prime[i]] P=primes(n) def f(x): if len(str(x))==1: return x else: ret=x%10+f(x//10) if ret>=10: return ret%10+1 else: return ret kk=bisect.bisect_left(P,k) nn=len(P) C=[kk-1]*10 lr=0 l=kk-1 for i in range(kk,nn): p=P[i] pp=f(p) if i-max(l,C[pp])>=lr: ans=P[max(l,C[pp])+1] lr=i-max(l,C[pp]) l=max(l,C[pp]) C[pp]=i print(ans)