#include <bits/stdc++.h>
using namespace std;
long long x, k, cnt;
vector<long long> Q;
void solve(int ind, int b) {
  if (cnt <= 0) return;
  if (b == 0) {
    printf("%I64d ", Q[ind]);
    cnt--;
    return;
  }
  printf("1 ");
  cnt--;
  for (int i = 0; i <= ind; i++)
    if (Q[ind] % Q[i] == 0) {
      if (cnt <= 0) return;
      solve(i, b - 1);
    }
}
int main() {
  scanf("%I64d %I64d", &x, &k);
  cnt = 1e5;
  for (long long i = 2; i * i <= x; i++)
    if (x % i == 0) {
      Q.push_back(i);
      if (i * i != x) Q.push_back(x / i);
    }
  sort(Q.begin(), Q.end());
  if (x != 1) Q.push_back(x);
  solve(Q.size() - 1, k);
}
