#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, k;
  queue<int> ans;
  while (!ans.empty()) ans.pop();
  cin >> n >> k;
  int i = 2;
  while (ans.size() < k - 1) {
    while (n % i == 0) {
      n /= i;
      ans.push(i);
      if (n == 1 || n < i) break;
      if (ans.size() >= k - 1) break;
    }
    if (n == 1 || n < i) break;
    if (ans.size() >= k - 1) break;
    i++;
  }
  if (ans.size() == k - 1 && n == 1 || ans.size() < k - 1)
    cout << -1 << endl;
  else {
    while (!ans.empty()) {
      cout << ans.front() << endl;
      ans.pop();
    }
    if (n != 1) cout << n << endl;
  }
  return 0;
}
