#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3fffffff;
const int MOD = 1000000009;
long long x, k;
int len = 100000;
vector<long long> v;
void output(long long x, long long step) {
  if (!len) return;
  if (x == 1 || step == k) {
    printf("%lld ", x);
    len--;
    return;
  }
  for (int i = 0; i < v.size() && v[i] <= x; i++) {
    if (x % v[i] == 0) output(v[i], step + 1);
  }
}
int main() {
  cin >> x >> k;
  for (long long i = 1; i * i <= x; i++) {
    if (x % i == 0) {
      v.push_back(i);
      if (x / i != i) {
        v.push_back(x / i);
      }
    }
  }
  sort(v.begin(), v.end());
  output(x, 0);
  return 0;
}
