def make_prime(f, t): prime_list = [] for i in range(f, t + 1): if i == 1: continue isPrime = True j = 2 while j * j <= i: if i % j == 0: isPrime = False break j += 1 if isPrime: prime_list.append(i) return prime_list; def calc(p): sum = 0 while p > 0: sum += p % 10 p = p // 10 if sum >= 10: sum = calc(sum) return sum K = int(input()) N = int(input()) prime_list = make_prime(K, N) calc_result = [] for p in prime_list: calc_result.append(calc(p)) hash_list = [] for i in range(len(calc_result)): temp = [calc_result[i]] length = 1 s_idx = i for j in range(i + 1, len(calc_result)): if calc_result[j] in temp: break else: length += 1 temp.append(calc_result[j]) hash_list.append([s_idx, length]) max_sum = 0 max_idx = 0 for hash_item in hash_list: if hash_item[1] >= max_sum: max_sum = hash_item[1] max_idx = hash_item[0] print(prime_list[max_idx])