#include <bits/stdc++.h>
using namespace std;
int upr[1000000 + 10], prm[1000000 + 10], np;
int n;
void init_prm() {
  int i, j;
  for (i = 2; i <= 1000000; i++) {
    if (!upr[i]) prm[np++] = i;
    for (j = 0; j < np && prm[j] * i <= 1000000; j++) {
      upr[prm[j] * i] = 1;
      if (i % prm[j] == 0) break;
    }
  }
}
void print_ans(int cur, int pos) {
  if (cur == 1)
    printf("1\n");
  else {
    int i;
    for (i = pos; i >= 0; i--)
      if (cur % prm[i] == 0) {
        printf("%d ", cur);
        print_ans(cur / prm[i], i);
        break;
      }
  }
}
int main() {
  init_prm();
  while (scanf("%d", &n) != EOF) print_ans(n, np - 1);
  return 0;
}
