#include <iostream>

using namespace std;

void divide(int x)
{
    for (int i = 2; i <= x / i; i ++ )
    {
        if (x % i == 0)
        {
            /* 条件满足时,则可得[2, i - 1]都不是x的因子,但是i是x的一个因子,故x不是质数
            * 但是由于循环条件是 x / i,则可知[2, i - 1]同样也不是i的因子,即i是质数
            * 即当if条件满足时,i是x的质因子 */
            int s = 0;
            while (x % i == 0) x /= i, s ++ ;
            while (s -- ) printf("%d ", i);
        }
    }

    if (x > 1) printf("%d", x);
}

int main()
{
    int x;
    cin >> x;

    divide(x);

    return 0;
}