Сашко-Конструктор масивів
ліміт часу на тест
1 second
ліміт використання пам'яті на тест
256 megabytes
введення
standard input
виведення
standard output

Вам задані числа $$$x$$$ та $$$d$$$. Ваша задача — знайти будь-який масив, який одночасно задовольняє наступні критерії:

- $$$a_1\times a_2 \times \dots \times a_n=x$$$, де $$$n$$$ це розмір вашого масиву;
- $$$1\le a_i\le d$$$ для кожного $$$1\le i\le n$$$;
- розмір масиву мінімально можливий.

Вхідні дані

Єдиний рядок містить два цілі числа $$$x$$$ $$$(2 \le x \le 10^{9})$$$ та $$$d$$$ $$$(2 \le d \le 10^{9})$$$

Вихідні дані

Якщо такого масиву не існує, то виведіть "$$$-1$$$".

Інакше в першому рядку виведіть число $$$n$$$ ($$$1 \le n \le 1000$$$) — мінімальний розмір масиву.

У другому рядку виведіть числа $$$a_1,a_2,\dots,a_n$$$ ($$$1 \le a_i \le d$$$), які задовольняють умову.

Якщо є декілька правильних відповідей, дозволяється вивести довільну.

Можна показати що довжина оптимального масива завжди задовільняє обмеження

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

У цій задачі існують умовні блоки. Якщо ваше рішення буде працювати правильно для певних обмежень, то воно отримуватиме певну кількість балів. Зверніть увагу, що оцінювання й досі потестове.

- ($$$37$$$ балів): $$$ x,d \le 2 \cdot 10^{5}$$$;
- ($$$63$$$ бали): без додаткових обмежень.

Приклади

Вхідні дані

    10 5

Вихідні дані

    2
    5 2

Вхідні дані

    11 6

Вихідні дані

    -1

Вхідні дані

    120 6

Вихідні дані

    3
    5 4 6

Пояснення

У першому прикладі $$$x=10$$$ та $$$d=5$$$. Потрібно знайти масив, в якого добуток $$$10$$$. Масив "$$$5,2$$$" підходить, тому що $$$5\times 2=10$$$ та кожне з чисел не більше за $$$d$$$. Неможливо зробити масив розміру один, тому що тоді єдиний елемент повинен бути рівний $$$x$$$, а в цьому тесті $$$x>d$$$.