a = int(input().strip()) M = []#记录所有因子 def getPrime(a): if a == 2: M.append(a) return for i in range(2,a//2): if a%i == 0: # 存在因数,则继续分解 getPrime(i) getPrime(a//i) return if i*i > a: # break #循环结束后,不存在因数,则本身为质数 M.append(a) return getPrime(a) output = "" for i in range(len(M)): output += str(M[i]) output += ' ' print(output)