#include <stdio.h>
#include <stdlib.h>
int main()
{
long num_input = 0;
scanf("%d",&num_input);
long num_sub = 1;
long num_left = 1;
//枚举测试
for(int i = 2;i<=num_input;i++)
{
num_sub = num_input/i;
num_left = num_input%i;
if(num_left==0)
{
if(primeJudge(i))
{
printf("%d ",i);
//重复测试,质因子可能相同
i-=1;
num_input=num_sub;
}
}
}
}
//质数判断,建议划分子程序,功能分割,否则十分混乱易错
int primeJudge(long num)
{
if(num==2)
{
return 1;
}
else
{
for(int i = 2;i<num;i++)
{
if(num%i==0)
return 0;
}
return 1;
}
}