import math def getPrime(): primes = [2] for i in range(3,100000 + 1): f = True j = 2 while j * j <= i: if i % j == 0: f = False break j += 1 if f: primes.append(i) return primes L,H = map(int,input().split()) prime = getPrime() prime = sorted(prime,reverse=True) find = False for i in range(len(prime)): if prime[i] * prime[i] <= H: j = H // prime[i] * prime[i] while j >= max(L,prime[i] * prime[i]): k = len(prime) - 1 while k > i: if j % prime[k] == 0:break k -= 1 if k == i: print(j) find = True break j -= prime[i] if find:break if find:break