Проблема:

Защ. составное число:
целые положительные числа, не являющиеся простыми и не равные 1

Последовательность n − 1 последовательных составных чисел
, лежащих между двумя последовательными простыми числами p и p + n
, называется пробелом между простыми числами длины n.

Например,
⟨24, 25, 26, 27, 28⟩ между 23 и 29 — это пробел длины 6.

Ваша задача состоит в том, чтобы написать программу для вычисления
для заданного положительного целого числа k длины промежутка простого числа, содержащего k.
Для удобства длина считается равной 0, если ни один из простых пробелов не содержит k.

Ввод:

Входные данные представляют собой последовательность строк,
каждая из которых содержит одно положительное целое число.
Каждое положительное целое число больше 1
и меньше или равно 100000-му простому числу, которое равно 1299709.
Конец ввода обозначается строкой, содержащей один ноль.

===

Введите несколько строк.
Каждая строка содержит положительное целое число ( 1 ‹ целых чисел ≤ 1299709 ).
Введите 0, чтобы закончить ввод.

Вывод:

Вывод должен состоять из строк
, каждая из которых содержит одно неотрицательное целое число.
Это длина простого промежутка
, который содержит соответствующее положительное целое число во входных данных
, если это составное число, или «0» в противном случае.
В выводе не должно быть других символов.

===

Защ. Простой пробел: это разница между двумя последовательными простыми числами.

Если введенное целое число простое, то выведите 0,
иначе выведите длину простого промежутка.

Пример ввода и вывода:

ввод:
11
27
2
492170
0

вывод:
4
0
6
0
114

Решение: