/*
Task: 1454D
Date: Dec 22, 2020
Author: aLittleLove (Minh Vu)
*/
#include<bits/stdc++.h>
#define rep(i,n) for (int i=0, _n=n; i<_n; i++)
#define FOR(i,a,b) for (int _a=(a), _b=(b), i=_a; _a<=_b?i<=_b:i>=_b; _a<=_b?i++:i--)
#define _mem(a, b) memset(a, (b), sizeof(a))
#define pb push_back
#define fi first
#define se second
#define sz(a) int((a).size())
using namespace std;
const int N = 2e5 + 5;
const int inf = 1e9;
const int mod = 1e9 + 7;
const double pi = atan(1) * 4.0;
typedef long long ll;
typedef int64_t i64;
typedef pair<int, int> pii;
typedef vector<pii> vii;
typedef vector<int> vi;
template<typename T, typename U> inline void mini(T &x, U y) { if(y < x) x = y; }
template<typename T, typename U> inline void maxi(T &x, U y) { if(x < y) x = y; }
i64 n;
i64 POW(i64 x, i64 y)
{
if (y==0) return 1;
i64 tmp = POW(x, y/2);
if (y&1) return tmp*tmp*x;
return tmp*tmp;
}
void Solve()
{
cin >> n;
i64 cur = n;
vector<i64> ans;
i64 base, mx = -1, rem;
for (i64 i=2; i*i<=n; i++)
{
if (n%i==0)
{
for (i64 j=1; j; j++)
{
i64 p = POW(i, j);
if (p>n) break;
if (n%p==0 && (n/p)%i==0 && j>mx)
{
mx = j;
base = i;
rem = n/p;
}
}
}
}
if (mx==-1) cout << 1 << '\n' << n << '\n';
else
{
for (int i=1; i<=mx; i++) ans.pb(base);
if (rem!=1) ans.pb(rem);
cout << sz(ans) << '\n';
for (i64 x: ans) cout << x << " ";
cout << '\n';
}
}
int main()
{
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
//freopen("input.txt","r",stdin);
int nTest; cin >> nTest;
while (nTest--) Solve();
return 0;
}
LyoKVGFzazogMTQ1NEQKRGF0ZTogRGVjIDIyLCAyMDIwCkF1dGhvcjogYUxpdHRsZUxvdmUgKE1pbmggVnUpCiovCgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgojZGVmaW5lIHJlcChpLG4pIGZvciAoaW50IGk9MCwgX249bjsgaTxfbjsgaSsrKQojZGVmaW5lIEZPUihpLGEsYikgZm9yIChpbnQgX2E9KGEpLCBfYj0oYiksIGk9X2E7IF9hPD1fYj9pPD1fYjppPj1fYjsgX2E8PV9iP2krKzppLS0pCiNkZWZpbmUgX21lbShhLCBiKSBtZW1zZXQoYSwgKGIpLCBzaXplb2YoYSkpCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBzeihhKSBpbnQoKGEpLnNpemUoKSkKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBOID0gMmU1ICsgNTsKY29uc3QgaW50IGluZiA9IDFlOTsKY29uc3QgaW50IG1vZCA9IDFlOSArIDc7CmNvbnN0IGRvdWJsZSBwaSA9IGF0YW4oMSkgKiA0LjA7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwp0eXBlZGVmIGludDY0X3QgaTY0Owp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IHBpaTsKdHlwZWRlZiB2ZWN0b3I8cGlpPiB2aWk7CnR5cGVkZWYgdmVjdG9yPGludD4gdmk7CnRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSB2b2lkIG1pbmkoVCAmeCwgVSB5KSB7IGlmKHkgPCB4KSB4ID0geTsgfQp0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgdm9pZCBtYXhpKFQgJngsIFUgeSkgeyBpZih4IDwgeSkgeCA9IHk7IH0KCmk2NCBuOwppNjQgUE9XKGk2NCB4LCBpNjQgeSkKewogICAgaWYgKHk9PTApIHJldHVybiAxOwogICAgaTY0IHRtcCA9IFBPVyh4LCB5LzIpOwogICAgaWYgKHkmMSkgcmV0dXJuIHRtcCp0bXAqeDsKICAgIHJldHVybiB0bXAqdG1wOwp9Cgp2b2lkIFNvbHZlKCkKewogICAgY2luID4+IG47CiAgICBpNjQgY3VyID0gbjsKICAgIHZlY3RvcjxpNjQ+IGFuczsKICAgIGk2NCBiYXNlLCBteCA9IC0xLCByZW07CiAgICBmb3IgKGk2NCBpPTI7IGkqaTw9bjsgaSsrKQogICAgewogICAgICAgIGlmIChuJWk9PTApCiAgICAgICAgewogICAgICAgICAgICBmb3IgKGk2NCBqPTE7IGo7IGorKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaTY0IHAgPSBQT1coaSwgaik7CiAgICAgICAgICAgICAgICBpZiAocD5uKSBicmVhazsKICAgICAgICAgICAgICAgIGlmIChuJXA9PTAgJiYgKG4vcCklaT09MCAmJiBqPm14KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIG14ID0gajsKICAgICAgICAgICAgICAgICAgICBiYXNlID0gaTsKICAgICAgICAgICAgICAgICAgICByZW0gPSBuL3A7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBpZiAobXg9PS0xKSBjb3V0IDw8IDEgPDwgJ1xuJyA8PCBuIDw8ICdcbic7CiAgICBlbHNlIAogICAgewogICAgICAgIGZvciAoaW50IGk9MTsgaTw9bXg7IGkrKykgYW5zLnBiKGJhc2UpOwogICAgICAgIGlmIChyZW0hPTEpIGFucy5wYihyZW0pOwogICAgICAgIGNvdXQgPDwgc3ooYW5zKSA8PCAnXG4nOwogICAgICAgIGZvciAoaTY0IHg6IGFucykgY291dCA8PCB4IDw8ICIgIjsKICAgICAgICBjb3V0IDw8ICdcbic7CiAgICB9Cn0KCmludCBtYWluKCkKewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwogICAgLy9mcmVvcGVuKCJpbnB1dC50eHQiLCJyIixzdGRpbik7CiAgICBpbnQgblRlc3Q7IGNpbiA+PiBuVGVzdDsKICAgIHdoaWxlIChuVGVzdC0tKSBTb2x2ZSgpOwoKICAgIHJldHVybiAwOwp9