#include <stdio.h>
#include <math.h>

// 函数：判断一个数是否为素数
int is_prime(int num) {
    if (num <= 1) return 0; // 0和1不是素数
    if (num == 2) return 1; // 2是素数
    if (num % 2 == 0) return 0; // 偶数不是素数
    
    // 试除法判断是否为素数
    int i;
    for (i = 3; i <= sqrt(num); i += 2) {
        if (num % i == 0) {
            return 0; // 能整除则不是素数
        }
    }
    return 1; // 不能整除则是素数
}

// 函数：分解合数，找出只出现一次的素数因子
void decompose(int num) {
    if (num <= 1) return; // 小于等于1的数没有素数因子
    
    int i;
    // 试除法分解合数
    for (i = 2; i <= num; i++) {
        if (num % i == 0 && is_prime(i)) {
            int count = 0;
            while (num % i == 0) {
                num /= i;
                count++;
            }
            if (count == 1) {
                printf("%d ", i); // 输出只出现一次的素数因子
            }
        }
    }
    
    printf("\n");
}

int main() {
    int num;
    
    scanf("%d", &num);
    
    // 分解合数并输出只出现一次的素数因子
    decompose(num);
    
    return 0;
}
