#include <bits/stdc++.h>
using namespace std;
const long long inf = (long long)2e15;
const long long M = ((long long)(1000 * 1000 * 1000 + 7));
signed main() {
  cin.tie(0);
  cout.tie(0);
  ios_base::sync_with_stdio(false);
  long long begtime = clock();
  ;
  long long n, k;
  cin >> n >> k;
  long long cnt = 0;
  long long p = 2;
  vector<long long> ans;
  while (cnt != k - 1 and n != 1) {
    while (n % p == 0) {
      n /= p, cnt += 1, ans.push_back(p);
      if (cnt == k - 1) break;
    }
    p += 1;
  }
  if (cnt < k - 1) {
    cout << -1;
    return 0;
  }
  if (n == 1) {
    cout << -1;
    return 0;
  }
  cout << n << ' ';
  for (long long i = 0; i < ans.size(); i++) cout << ans[i] << ' ';
  long long endtime = clock();
  cerr << endl
       << "Time elapsed: " << (endtime - begtime) * 1000 / CLOCKS_PER_SEC
       << " ms";
  return 0;
}
