# ---------------------
# writer answer

require 'prime'

l,h=gets.split(" ").map(&:to_i)

m=nil;t=nil
Math::sqrt(h).to_i.downto(2){|n|
    next if h/n*n<l||!Prime.prime?(n)
    break if (m&&n<m[0])
    (h/n).downto(n){|i|
    	break if i*n<l
    	if (!m||n!=m[0])&&Prime.prime?(i)
    		p i*n;exit
    	end
    	t=Prime.prime_division(i*n)[0][0]
    	#p [n,i,n*i,t,m]
    	m=[t,i*n] if (!m||m[0]<t||(m[0]==t&&m[1]<i*n))
    }
}
p m[1]