#include <bits/stdc++.h>
using namespace std;
int is_prime[200000];
int prime[20000];
int n, k;
int num[20000];
int cnt = 0;
int temp[20000];
void shai() {
  for (int i = 2; i <= 100000; i++) {
    if (!is_prime[i]) {
      prime[++cnt] = i;
      for (int j = i + i; j <= 100000; j += i) {
        is_prime[j] = 1;
      }
    }
  }
}
int main() {
  shai();
  cin >> n >> k;
  int sum = 0;
  int ans = 1;
  for (int i = 1; i <= cnt; i++) {
    while (n % prime[i] == 0) {
      num[i]++;
      if (++sum < k) {
        temp[sum] = prime[i];
      } else {
        ans *= prime[i];
      }
      n /= prime[i];
    }
    if (n == 1) break;
  }
  if (sum < k) {
    cout << -1 << endl;
  } else {
    for (int i = 1; i < k; i++) {
      cout << temp[i] << " ";
    }
    cout << ans << endl;
  }
  return 0;
}
