#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, n, m, k, c, a[100001], x[100001], count = 0, last = 1;
  cin >> n >> k;
  m = n;
  for (i = 0; i < n; ++i) {
    x[i] = 0;
    a[i] = 0;
  }
  for (i = 2; i < n; ++i) {
    while (m % i == 0) {
      x[i]++;
      count++;
      m = m / i;
    }
  }
  if (k == 1)
    cout << n << endl;
  else if (k > count) {
    cout << -1 << endl;
    return 0;
  } else {
    c = 0;
    for (i = 2; i < n; ++i) {
      while (x[i] > 0 && c < k - 1) {
        cout << i << " ";
        x[i]--;
        c++;
      }
    }
    for (i = 2; i < n; ++i) {
      if (x[i] >= 1) {
        for (int j = 1; j <= x[i]; j++) last *= i;
      }
    }
    cout << last << endl;
  }
  return 0;
}
