#include <bits/stdc++.h>
using namespace std;
#define PROBLEM "https://judge.yosupo.jp/problem/factorize"
#include "../../math/fastFactorize.hpp"
int main() {
    ios::sync_with_stdio(0);
    int q; cin>>q;
    while(q--) {
        ull a; cin>>a;
        vector<ull> f;
        factor(a, f);
        sort(f.begin(), f.end());
        cout<<f.size()<<' ';
        for(auto x: f) 
            cout<<x<<' ';
        cout<<'\n';
    }
    return 0;
}
#line 1 "library/test/yosupo/factorize.test.cpp"
#include <bits/stdc++.h>
using namespace std;
#define PROBLEM "https://judge.yosupo.jp/problem/factorize"
#line 1 "library/math/fastFactorize.hpp"
typedef int64_t ll;
typedef uint64_t ull;
ull mul(ull a, ull b, ull M) {
    ll r = a * b - M * ull(1.L / M * a * b);
    return r + M * ((r < 0) - (r >= (ll) M));
}
ull mow(ull x, ull e, ull M) {
    ull r = 1;
    for (; e; x = mul(x, x, M), e >>= 1)
        if (e & 1) r = mul(r, x, M);
    return r;
}
bool isPrime(ull n) {
    if (n < 2 or n % 6 % 4 != 1) return (n | 1) == 3;
    static const ull A[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41};
    ull s = __builtin_ctzll(n - 1), d = n >> s;
    for (const ull& a: A) {
        ull p = mow(a % n, d, n), i = s;
        while (p != 1 and p != n - 1 and a % n != 0 and i--)
            p = mul(p, p, n);
        if (p != n - 1 and i != s) return false;
    }
    return true;
}
ull pollard(ull n) {
    static mt19937_64 mt((unsigned)chrono::system_clock::now().time_since_epoch().count());
    static ull c = 1;
    auto f = [&](ull x) { return mul(x, x, n) + c; };
    ull x = 0, y = 0, t = 40, p = 2, q, i = 2;
    while (t++ % 30 or gcd(p, n) == 1) {
        if (x == y) c = mt() % (n - 1) + 1, y = f(x = ++i);
        if (q = mul(p, (x > y ? x - y : y - x), n)) p = q;
        x = f(x); y = f(f(y));
    }
    return gcd(p, n);
}
void factor(ull n, vector<ull>& f) {
    if (n == 1) return;
    if (isPrime(n)) {
        f.push_back(n);
        return;
    }
    ull x = pollard(n);
    factor(x, f);
    factor(n / x, f);
    return;
}
#line 5 "library/test/yosupo/factorize.test.cpp"
int main() {
    ios::sync_with_stdio(0);
    int q; cin>>q;
    while(q--) {
        ull a; cin>>a;
        vector<ull> f;
        factor(a, f);
        sort(f.begin(), f.end());
        cout<<f.size()<<' ';
        for(auto x: f) 
            cout<<x<<' ';
        cout<<'\n';
    }
    return 0;
}