Олимпиадный тренинг

Задача . E. Про делители


Бизон-Чемпион не только дружелюбный, но и любит программировать.

Определим функцию f(a), где a последовательность целых положительных чисел. Функция f(a) возвращает следующую последовательность: сначала идут все делители a1 в порядке возрастания, затем идут все делители a2 в порядке возрастания, и так далее до последнего элемента последовательности a. Например f([2, 9, 1]) = [1, 2, 1, 3, 9, 1].

Определим последовательность Xi, для целых i (i ≥ 0): X0 = [X] ([X] — это последовательность, состоящая из одного числа X), Xi = f(Xi - 1) (i > 0). Например, при X = 6 получится X0 = [6], X1 = [1, 2, 3, 6], X2 = [1, 1, 2, 1, 3, 1, 2, 3, 6].

Для заданных чисел X и k найдите последовательность Xk. Так как ответ может быть слишком большим, найдите только первые 105 элементов этой последовательности.

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

В единственной строке содержатся два целых числа, разделенных пробелом — X (1 ≤ X ≤ 1012) и k (0 ≤ k ≤ 1018).

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

Выведите элементы последовательности Xk в одной строке через пробел. Если количество элементов превосходит 105, то выведите только первые 105 элементов.


Примеры
Входные данныеВыходные данные
1 6 1
1 2 3 6
2 4 2
1 1 2 1 2 4
3 10 3
1 1 1 2 1 1 5 1 1 2 1 5 1 2 5 10

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя