/*
* @Author: hungeazy
* @Date: 2026-03-04 23:24:15
* @Last Modified by: hungeazy
* @Last Modified time: 2026-04-02 22:43:33
*/
#include <bits/stdc++.h>
using namespace std;
const int N = (int)1e6+10;
int n,q,minPrime[N];
void sang()
{
for (int i = 2; i <= N-10; i++)
if (minPrime[i] == 0)
for (int j = i; j <= N-10; j += i)
minPrime[j] = i;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
sang();
cin >> q;
while (q--)
{
cin >> n;
vector<int> vec;
while (n != 1)
{
int p = minPrime[n];
while (n%p == 0) n /= p;
vec.push_back(p);
}
sort(vec.begin(),vec.end());
for (int x : vec) cout << x << " ";
cout << endl;
}
}
LyoKKiBAQXV0aG9yOiBodW5nZWF6eQoqIEBEYXRlOiAgIDIwMjYtMDMtMDQgMjM6MjQ6MTUKKiBATGFzdCBNb2RpZmllZCBieTogICBodW5nZWF6eQoqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjYtMDQtMDIgMjI6NDM6MzMKKi8KI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBOID0gKGludCkxZTYrMTA7CmludCBuLHEsbWluUHJpbWVbTl07Cgp2b2lkIHNhbmcoKQp7CiAgICBmb3IgKGludCBpID0gMjsgaSA8PSBOLTEwOyBpKyspCiAgICAgICAgaWYgKG1pblByaW1lW2ldID09IDApCiAgICAgICAgICAgIGZvciAoaW50IGogPSBpOyBqIDw9IE4tMTA7IGogKz0gaSkKICAgICAgICAgICAgICAgIG1pblByaW1lW2pdID0gaTsKfQoKaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7IGNvdXQudGllKE5VTEwpOwogICAgc2FuZygpOwogICAgY2luID4+IHE7CiAgICB3aGlsZSAocS0tKQogICAgewogICAgICAgIGNpbiA+PiBuOwogICAgICAgIHZlY3RvcjxpbnQ+IHZlYzsKICAgICAgICB3aGlsZSAobiAhPSAxKQogICAgICAgIHsKICAgICAgICAgICAgaW50IHAgPSBtaW5QcmltZVtuXTsKICAgICAgICAgICAgd2hpbGUgKG4lcCA9PSAwKSBuIC89IHA7CiAgICAgICAgICAgIHZlYy5wdXNoX2JhY2socCk7CiAgICAgICAgfQogICAgICAgIHNvcnQodmVjLmJlZ2luKCksdmVjLmVuZCgpKTsKICAgICAgICBmb3IgKGludCB4IDogdmVjKSBjb3V0IDw8IHggPDwgIiAiOwogICAgICAgIGNvdXQgPDwgZW5kbDsKICAgIH0KfQ==