#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
using ll = long long;
using ld = long double;
#define all(x) x.begin(),x.end()
#define v(x) vector<x>
#define nl '\n'
#define fxd(x) fixed << setprecision(x)
template<class t> using ordered_set = tree<t, null_type, less<t>, rb_tree_tag, tree_order_statistics_node_update>;
template<class t> using ordered_multiset = tree<t, null_type, less_equal<t>, rb_tree_tag, tree_order_statistics_node_update>;
// pow|base
vector<ll> primefactors(ll n)
{
vector<ll> res;
for (int i = 2; i*i <= n; i++)
{
while (n%i == 0)
{
res.push_back(i);
n /= i;
}
}
if(n > 1) res.push_back(n);
return res;
}
int main()
{
ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
ll n , k; cin >> n >> k;
vector<ll> pm = primefactors(n);
if(pm.size() < k)
{
cout << -1;
}
else
{
for (int i = 0; i < k-1; i++)
{
cout << pm[i] << " ";
}
ll res = 1;
for (int i = k-1; i < pm.size(); i++)
{
res *= pm[i];
}
cout << res;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxleHQvcGJfZHMvYXNzb2NfY29udGFpbmVyLmhwcD4KI2luY2x1ZGUgPGV4dC9wYl9kcy90cmVlX3BvbGljeS5ocHA+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp1c2luZyBuYW1lc3BhY2UgX19nbnVfcGJkczsKdXNpbmcgbGwgPSBsb25nIGxvbmc7CnVzaW5nIGxkID0gbG9uZyBkb3VibGU7CgojZGVmaW5lIGFsbCh4KSAgeC5iZWdpbigpLHguZW5kKCkKI2RlZmluZSB2KHgpIHZlY3Rvcjx4PgojZGVmaW5lIG5sICdcbicKI2RlZmluZSBmeGQoeCkgZml4ZWQgPDwgc2V0cHJlY2lzaW9uKHgpCnRlbXBsYXRlPGNsYXNzIHQ+IHVzaW5nIG9yZGVyZWRfc2V0ID0gdHJlZTx0LCBudWxsX3R5cGUsIGxlc3M8dD4sIHJiX3RyZWVfdGFnLCB0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGU+Owp0ZW1wbGF0ZTxjbGFzcyB0PiB1c2luZyBvcmRlcmVkX211bHRpc2V0ID0gdHJlZTx0LCBudWxsX3R5cGUsIGxlc3NfZXF1YWw8dD4sIHJiX3RyZWVfdGFnLCB0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGU+OwoKLy8gICAgICAgIHBvd3xiYXNlCnZlY3RvcjxsbD4gcHJpbWVmYWN0b3JzKGxsIG4pCnsKICAgIHZlY3RvcjxsbD4gcmVzOwogICAgZm9yIChpbnQgaSA9IDI7IGkqaSA8PSBuOyBpKyspCiAgICB7CiAgICAgICAgCiAgICAgICAgd2hpbGUgKG4laSA9PSAwKQogICAgICAgIHsKICAgICAgICAgICAgCiAgICAgICAgICAgIHJlcy5wdXNoX2JhY2soaSk7CiAgICAgICAgICAgIG4gLz0gaTsKICAgICAgICB9CiAgICB9CiAgICBpZihuID4gMSkgcmVzLnB1c2hfYmFjayhuKTsKICAgIHJldHVybiByZXM7Cn0KCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUobnVsbHB0cik7IGNvdXQudGllKG51bGxwdHIpOwogICAgbGwgbiAsIGs7IGNpbiA+PiBuID4+IGs7CiAgICB2ZWN0b3I8bGw+IHBtID0gcHJpbWVmYWN0b3JzKG4pOwoKICAgIGlmKHBtLnNpemUoKSA8IGspCiAgICB7CiAgICAgICAgY291dCA8PCAtMTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGstMTsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgY291dCA8PCBwbVtpXSA8PCAiICI7CiAgICAgICAgfQogICAgICAgIGxsIHJlcyA9IDE7CiAgICAgICAgZm9yIChpbnQgaSA9IGstMTsgaSA8IHBtLnNpemUoKTsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgcmVzICo9IHBtW2ldOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8IHJlczsKICAgICAgICAKICAgIH0gCn0=