#include <bits/stdc++.h>
using namespace std;
int a, b;
void roz(int liczba, int czynnik[]);
int main() {
  scanf("%d %d", &a, &b);
  int rozklad[20] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
                     1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
  roz(a, rozklad);
  if (rozklad[b - 1] == 1) {
    printf("-1\n");
  } else {
    for (int i = 0; i < b; i++) {
      printf("%d ", rozklad[i]);
    }
    printf("\n");
  }
  return 0;
}
void roz(int liczba, int czynnik[]) {
  int next = 0;
  for (int i = 2; i * i <= liczba; i++) {
    while (liczba % i == 0) {
      czynnik[next] *= i;
      liczba = liczba / i;
      if (next < b - 1) next++;
    }
  }
  if (liczba > 1) {
    czynnik[next] *= liczba;
    if (next < b - 1) next++;
  }
}
