Тимофей готовит доклад ко дню открытых дверей кафедры Теории чисел. Он собирается рассказать про Основную теорему арифметики. В соответствии с этой теоремой, любое число раскладывается на произведение простых множителей единственным образом – с точностью до их перестановки.
Например, число 8 можно представить как 2 × 2 × 2.
Число 50 – как 2 × 5 × 5 (или 5 × 5 × 2, или 5 × 2 × 5). Три варианта отличаются лишь порядком следования множителей.
Разложение числа на простые множители называется факторизацией числа.
Факторизацию в уме делать сложно, поэтому помогите Тимофею написать для этого программу.
Формат ввода
В единственной строке дано число n (2 ≤ n ≤ 109), которое нужно факторизовать.
Формат вывода
Выведите в порядке неубывания простые множители, на которые раскладывается число n.
chislo = int(input())
d = 2
while d * d <= chislo:
if chislo % d == 0:
print(d, end=' ')
chislo //= d
else:
d += 1
if chislo > 1:
print(chislo)