Для защиты информации в системах передачи данных через Интернет, специалистами фирмы СКБ Контур был разработан уникальный криптографический алгоритм. Главное преимущество этого алгоритма заключается в том, что в качестве ключей не требуется использовать очень большие числа; можно вполне обойтись и натуральными числами, не превосходящими миллиона. Однако, для повышения стойкости криптосистемы, рекомендуется использовать специальные числа — те самые, которые человеку психологически кажутся наименее "привычными", "правильными", "естественными". Чтобы математически определить и выделить такие числа, вводится понятие тривиальности натурального числа.
Тривиальностью натурального числа N будем называть отношение суммы всех его собственных делителей к самому числу. Так, например, тривиальность числа 10 равна 0.8=(1+2+5)/10, а тривиальность числа 20 равна 1.1=(1+2+4+5+10)/20. Напомним, что собственным делителем натурального числа называют любой делитель, строго меньший, чем это число.
Итак, в системе криптографической защиты информации фирмы СКБ Контур рекомендуется использовать как можно менее тривиальные числа. Вы должны составить программу, которая будет находить наименее тривиальное число в заданном диапазоне.
Исходные данные
В единственной строке записаны целые числа I и J,
1 ≤ I ≤ J ≤ 106, разделённые пробелом.
Результат
Выведите целое число
N, удовлетворяющее следующим двум свойствам:
- I ≤ N ≤ J
- из всех целых чисел, удовлетворяющих свойству 1, N имеет наименьшую тривиальность.
Пример
исходные данные | результат |
---|
24 28
| 25
|
Автор задачи: Леонид Волков
Источник задачи: USU Open Collegiate Programming Contest October'2001 Junior Session