#include<stdio.h>

//long int n
//质因子分解P1^ P2^ P3^找到一个p之后除尽
//这样可能剩个大质数或者1 大质数输出
int isprime(int n);
int main()
{
    long int n;
    scanf("%ld",&n);

    for(int i=2;i*i<=n;i++)
        while(n%i==0)
        {
            printf("%d ",i);
            n = n/i;
        }
    if(n!=1)
        printf("%d ", n);
    return 0;
}

int isprime(int n)
{
	int ret = 1;
	if ((n % 2 == 0 && n != 2) || n == 1)
		ret = 0;
	else
		for (int i = 3; i <= sqrt(n); i += 2)
			if (n % i == 0)
			{
				ret = 0;
				//这里可以break跳出减少循环次数
				break;
			}

	return ret;
}