#include <bits/stdc++.h>
using namespace std;
// Hàm để tìm tất cả các ước của một số nguyên dương
vector<int> findDivisors(int n) {
vector<int> divisors;
for (int i = 1; i <= sqrt(n); ++i) {
if (n % i == 0) {
divisors.push_back(i);
if (n / i != i) {
divisors.push_back(n / i);
}
}
}
return divisors;
}
// Hàm để phân tích số thành tích các thừa số nguyên tố
string primeFactorization(int n) {
string result = "";
for (int i = 2; i * i <= n; ++i) {
while (n % i == 0) {
result += to_string(i) + "*";
n /= i;
}
}
if (n > 1) {
result += to_string(n);
}
return result;
}
int main() {
int T;
cin >> T;
for (int i = 0; i < T; ++i) {
int M;
cin >> M;
vector<int> divisors = findDivisors(M);
int numDivisors = divisors.size();
string factorization = primeFactorization(M);
cout << numDivisors << " " << factorization << endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyBIw6BtIMSR4buDIHTDrG0gdOG6pXQgY+G6oyBjw6FjIMaw4bubYyBj4bunYSBt4buZdCBz4buRIG5ndXnDqm4gZMawxqFuZwp2ZWN0b3I8aW50PiBmaW5kRGl2aXNvcnMoaW50IG4pIHsKICAgIHZlY3RvcjxpbnQ+IGRpdmlzb3JzOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gc3FydChuKTsgKytpKSB7CiAgICAgICAgaWYgKG4gJSBpID09IDApIHsKICAgICAgICAgICAgZGl2aXNvcnMucHVzaF9iYWNrKGkpOwogICAgICAgICAgICBpZiAobiAvIGkgIT0gaSkgewogICAgICAgICAgICAgICAgZGl2aXNvcnMucHVzaF9iYWNrKG4gLyBpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBkaXZpc29yczsKfQoKLy8gSMOgbSDEkeG7gyBwaMOibiB0w61jaCBz4buRIHRow6BuaCB0w61jaCBjw6FjIHRo4burYSBz4buRIG5ndXnDqm4gdOG7kQpzdHJpbmcgcHJpbWVGYWN0b3JpemF0aW9uKGludCBuKSB7CiAgICBzdHJpbmcgcmVzdWx0ID0gIiI7CiAgICBmb3IgKGludCBpID0gMjsgaSAqIGkgPD0gbjsgKytpKSB7CiAgICAgICAgd2hpbGUgKG4gJSBpID09IDApIHsKICAgICAgICAgICAgcmVzdWx0ICs9IHRvX3N0cmluZyhpKSArICIqIjsKICAgICAgICAgICAgbiAvPSBpOwogICAgICAgIH0KICAgIH0KICAgIGlmIChuID4gMSkgewogICAgICAgIHJlc3VsdCArPSB0b19zdHJpbmcobik7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0Owp9CgppbnQgbWFpbigpIHsKCiAgICBpbnQgVDsKICAgIGNpbiA+PiBUOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgVDsgKytpKSB7CiAgICAgICAgaW50IE07CiAgICAgICAgY2luID4+IE07CgogICAgICAgIHZlY3RvcjxpbnQ+IGRpdmlzb3JzID0gZmluZERpdmlzb3JzKE0pOwogICAgICAgIGludCBudW1EaXZpc29ycyA9IGRpdmlzb3JzLnNpemUoKTsKCiAgICAgICAgc3RyaW5nIGZhY3Rvcml6YXRpb24gPSBwcmltZUZhY3Rvcml6YXRpb24oTSk7CgogICAgICAgIGNvdXQgPDwgbnVtRGl2aXNvcnMgPDwgIiAiIDw8IGZhY3Rvcml6YXRpb24gPDwgZW5kbDsKICAgIH0KCgogICAgcmV0dXJuIDA7Cn0=