#include <bits/stdc++.h>
using namespace std;
const int sz = 1e5 + 10, mod = 1e9 + 7;
map<long long, set<long long>> mp;
int ct = 0;
void pre(long long x) {
  long long i;
  set<long long> s;
  for (i = 1; i * i <= x; i++) {
    if (x % i == 0) {
      s.insert(i);
      s.insert(x / i);
    }
  }
  mp[x] = s;
  for (auto y : s) {
    if (y == x) break;
    set<long long> st;
    for (i = 1; i * i <= y; i++) {
      if (y % i == 0) {
        st.insert(i);
        st.insert(y / i);
      }
    }
    mp[y] = st;
  }
}
void print(long long x, long long k) {
  if (k == 0) {
    cout << x << " ";
    return;
  }
  if (k == 1 || x == 1) {
    for (auto y : mp[x]) {
      if (ct == 1e5) return;
      cout << y << " ";
      ct++;
    }
    return;
  }
  for (auto y : mp[x]) {
    if (ct == 1e5) return;
    print(y, k - 1);
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  long long x, k;
  cin >> x >> k;
  if (k >= 1e5 && x != 1) {
    for (int i = 1; i <= 1e5; i++) cout << "1 ";
  } else {
    pre(x);
    print(x, k);
  }
}
