#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n;
  cin >> n;
  int k;
  cin >> k;
  vector<long long> vct;
  for (long long i = 1; i <= sqrt(n); i++) {
    if (n % i == 0) vct.push_back(i);
    if (n % (n / i) == 0 && i != n / i) vct.push_back(n / i);
  }
  sort(vct.begin(), vct.end());
  long long cc = 0;
  int i = 1;
  vector<long long> res;
  while (cc != (k - 1) && n != 1) {
    if (n % vct[i] != 0) {
      i++;
      continue;
    }
    n /= vct[i];
    res.push_back(vct[i]);
    cc++;
  }
  if (cc == k - 1 && n != 1) {
    for (int j = 0; j < res.size(); j++) cout << res[j] << " ";
    cout << n << endl;
  } else {
    cout << -1 << endl;
  }
}
