#include <bits/stdc++.h>
using namespace std;
long long a[1000000], b[1000000], l[1000000], r[1000000], s[1000000 * 4], ans,
    n, m, la, lb, i, j, k;
void Dfs(long long x, long long y) {
  if (y == m || x == 1) {
    printf("%I64d ", a[x]);
    k++;
    if (k == 100000) exit(0);
    return;
  }
  for (long long i = l[x]; i <= r[x]; i++) Dfs(s[i], y + 1);
}
int main() {
  scanf("%I64d%I64d", &n, &m);
  for (i = 1; i <= (long long)sqrt(n); i++)
    if (n % i == 0) a[++la] = i, b[++lb] = n / i;
  if (a[la] == b[lb]) lb--;
  for (; lb; lb--) a[++la] = b[lb];
  for (i = 2; i <= la; i++) {
    l[i] = k + 1;
    for (j = 1; j <= i; j++)
      if (a[i] % a[j] == 0) s[++k] = j;
    r[i] = k;
  }
  k = 0;
  Dfs(la, 0);
}
