local mfl, mce = math.floor, math.ceil local function getprimes(k, x) local primes = {} local allnums = {} for i = 1, x do allnums[i] = true end for i = 2, x do if allnums[i] then if k <= i then table.insert(primes, i) end local lim = mfl(x / i) for j = 2, lim do allnums[j * i] = false end end end return primes end local k, n = io.read("*n", "*n") local primes = getprimes(k, n) local t = {} for i = 1, 8 do t[i] = 0 end local maxlen, maxlenpos = 0, 0 local right = #primes for i = #primes, 1, -1 do local p = primes[i] local dv = p % 9 if t[dv] ~= 0 then right = math.min(right, t[dv] - 1) end t[dv] = i local len = right - i + 1 if maxlen < len then maxlen = len maxlenpos = i end end print(primes[maxlenpos])