Задача №115413. Простоватые числа

Назовём число простоватым , если произведение цифр этого числа в десятичной системе счисления является простым числом. Например, простоватым является число 12, а число 29 не является.

Требуется посчитать количество простоватых чисел от \(l\) до \(r\), включительно.

Напомним, что целое число \(p > 1\) называется простым, если оно имеет ровно два делителя: \(1\) и \(p\).

Входные данные

Первая строка содержит одно целое число \(l\) (\(1 \le l \le 10^{100\,000}\)).

Вторая строка содержит одно целое число \(r\) (\(l \le r \le 10^{100\,000}\)).

Обратите внимание, что числа во вводе не помещаются в стандартные типы данных для целых чисел в большинстве языков программирования, в частности, в C++. Необходимо каким-либо специальным образом считывать входные данные, например, в виде строки.

Выходные данные

Выведите количество простоватых чисел от \(l\) до \(r\).

Система оценки

Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.

Подзадача Баллы Дополнительные ограничения Необходимые подзадачи Информация о проверке
1 19 \(1 \le l \le r \le 10^6\) первая ошибка
2 26 \(1 \le l \le r \le 10^{18}\) 1 первая ошибка
3 12 \(l = 1\), \(r = 10^{k}\), где \(k\) (\(1 \le k \le 10^5\)) первая ошибка
4 18 \(1 \le l \le r \le 10^{1000}\) 1, 2 первая ошибка
5 25 1–4 первая ошибка

Примеры
Входные данные
42
179
Выходные данные
10
Сдать: для сдачи задач необходимо войти в систему