#include <bits/stdc++.h>
using namespace std;
vector<long long int> v;
void primeFactors(long long int n) {
  while (n % 2 == 0) {
    n = n / 2;
    v.push_back(2);
  }
  for (long long int i = 3; i * i <= n; i = i + 2) {
    while (n % i == 0) {
      n = n / i;
      v.push_back(i);
    }
  }
  if (n > 2) {
    v.push_back(n);
  }
}
int main() {
  long long n, k;
  scanf("%lld%lld", &n, &k);
  primeFactors(n);
  if (v.size() < k) {
    printf("-1");
    printf("\n");
    ;
  } else {
    long long lim = v.size() - k, sum = 1;
    for (int i = 0; i < lim + 1; i++) {
      sum = sum * v[i];
    }
    for (int i = lim + 1; i <= v.size() - 1; i++) {
      printf("%lld", v[i]);
      ;
      printf(" ");
      ;
    }
    printf("%lld", sum);
    ;
    printf("\n");
    ;
  }
  return 0;
}
