Десятичный
Рациональное число — это число, которое можно выразить как отношение двух целых чисел. Все рациональные числа могут быть представлены в виде десятичной дроби с повторяющейся периодической частью (в некоторых случаях эта часть может быть 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.
Выходные данные
Выведите в первой строке количество найденных чисел. Затем выведите сами числа в порядке возрастания, каждое на отдельной строке.