Десятковий
Раціональне число — це число, яке можна виразити як відношення двох цілих чисел. Крім того, всі раціональні числа можна представити у вигляді десяткового дробу з певною повторюваною періодичною частиною (в деяких випадках повторювана частина — це 0). Наприклад, 1/7 = 0.1428571428571428... з 142857, що повторюється нескінченно. Інші дроби мають певну скінченну кількість неповторюваних цифр перед початком періодичної частини. Наприклад, 1/6 = 0.166666... починається з 1, а потім переходить у повторювані 6.
Ваше завдання — написати програму, яка приймає чотири цілі числа: lower, upper, lowerLength та upperLength. Ваша програма повинна знайти всі цілі числа n між lower та upper, включно, де повторювана частина десяткового представлення 1/n має від lowerLength до upperLength цифр, включно. Ви повинні повернути кількість і всі знайдені числа, відсортовані у зростаючому порядку.
Вхідні дані
Перша строка містить ціле число lower (1 ≤ lower ≤ 1000000). Друга строка містить ціле число upper (1 ≤ upper ≤ 1000000). Різниця між upper та lower буде не більше 100.
Третя строка містить ціле число lowerLength (1 ≤ lowerLength ≤ 1000000). Четверта строка містить ціле число upperLength (1 ≤ upperLength ≤ 1000000). upperLength буде більшим або дорівнюватиме lowerLength.
Вихідні дані
У першій строкі виходу вкажіть кількість знайдених чисел. Далі запишіть ці числа у зростаючому порядку, по одному числу в рядок.