Зарозумілий Зеник
Обмеження: 2 сек., 256 МіБ
Марічка дуже любить математику, особливо задачі на прості числа. Цього разу вона вигадала цікаву функцію. Для натуральних чисел n>1n>1 вона визначає функцію f(n)=n+p(n)f(n)=n+p(n), де p(n)p(n) — це найменший простий дільник числа nn.
Зеник побачивши цю функцію лише посміявся. Він думає, що обчислити значення f(n)f(n) для заданого nn можуть і діти старшої групи дитсадка, а тому навіть не варто згадувати про функцію ff на The Algo Battles.
Марічка хоче провчити зарозумілого Зеника і дала йому таку задачу.
Задано число nn. Потрібно знайти найменше mm таке, що рівняння f(k)=mf(k)=m має хоча б nn розв’язків, тобто різних значень kk, що задовольняють рівність. Оскільки число mm може бути великим, виведіть остачу від ділення його на просте число 109+7109+7.
Зеник перестав сміятися й чухає потилицю...
Вхідні дані
В одному рядку задано ціле число nn.
Вихідні дані
В одному рядку виведіть ціле число mm — остачу від ділення відповіді на просте число 109+7109+7.
Обмеження
1≤n≤1051≤n≤105.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
2 | 6 |
Примітки
Значення функції ff для кількох натуральних чисел: f(2)=2+2=4f(2)=2+2=4, f(3)=3+3=6f(3)=3+3=6, f(4)=4+2=6f(4)=4+2=6, f(5)=5+5=10f(5)=5+5=10, f(6)=6+2=8f(6)=6+2=8, f(7)=7+7=14f(7)=7+7=14, f(8)=8+2=10f(8)=8+2=10, f(9)=9+3=12f(9)=9+3=12.
Рівняння f(k)=6f(k)=6 має два розв’язки: 33 і 44. Для m<6m<6 рівняння f(k)=mf(k)=m має не більше ніж один розв’язок. Тому для n=2n=2 відповіддю є m=6m=6.