#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
long long factor[maxn], cnt, n, k, num;
void process() {
  int m = sqrt(n);
  cnt = num = 0;
  for (int i = 1; i <= m; i++) {
    if (n % i == 0) {
      factor[cnt++] = i;
      if (n / i != i) factor[cnt++] = n / i;
    }
  }
  sort(factor, factor + cnt);
}
void dfs(long long x, long long m) {
  if (num >= 100000) return;
  if (m == 0 || x == 1) {
    cout << x << " ";
    num++;
    return;
  }
  for (int i = 0; i < cnt && factor[i] <= x; i++) {
    if (x % factor[i] == 0) {
      dfs(factor[i], m - 1);
      if (num >= 100000) return;
    }
  }
}
int main() {
  cin >> n >> k;
  process();
  dfs(n, k);
  return 0;
}
