#include <iostream>
#include <cmath>
#include <vector>
#include <algorithm>
bool contains(int n, std::vector<int> &v){
if(find(v.begin(), v.end(), n) != v.end()){
return true;
}
return false;
}
std::vector<int> getPrimes(int n){
bool isPrime[n];
std::fill(isPrime, isPrime+n+1, true);
for (int i = 4; i < n; i+=2) {
isPrime[i] = false;
}
for(int i=3, j=i*i; j <= n; i+=2){
if(isPrime[i]){
for(; j <= n; j+=2*i){
isPrime[j] = false;
}
}
}
std::vector<int> ret;
ret.push_back(2);
for(int i = 3; i<=n; i+=2){
if(isPrime[i]){
ret.push_back(i);
}
}
return ret;
}
void factorize(int n, std::vector<int> &primes){
for(int prime: primes){
if( n < prime || contains(n, primes) ){
break;
}
while(n%prime==0){
std::cout << prime;
n /= prime;
if(n==1){
return;
}
std::cout << "*";
}
}
std::cout << n;
return;
}
int main()
{
std::ios_base::sync_with_stdio(false);
std::vector<int> primes = getPrimes((int)sqrt(8000000));
int n, number;
std::cin >> n;
for(int i=0; i<n; i++){
std::cin >> number;
if(number==1){
std::cout << 1;
continue;
}
factorize(number, primes);
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxhbGdvcml0aG0+Cgpib29sIGNvbnRhaW5zKGludCBuLCBzdGQ6OnZlY3RvcjxpbnQ+ICZ2KXsKICAgIGlmKGZpbmQodi5iZWdpbigpLCB2LmVuZCgpLCBuKSAhPSB2LmVuZCgpKXsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIHJldHVybiBmYWxzZTsKfQoKc3RkOjp2ZWN0b3I8aW50PiBnZXRQcmltZXMoaW50IG4pewoKICAgIGJvb2wgaXNQcmltZVtuXTsKICAgIHN0ZDo6ZmlsbChpc1ByaW1lLCBpc1ByaW1lK24rMSwgdHJ1ZSk7CgogICAgZm9yIChpbnQgaSA9IDQ7IGkgPCBuOyBpKz0yKSB7CiAgICAgICAgaXNQcmltZVtpXSA9IGZhbHNlOwogICAgfQoKICAgIGZvcihpbnQgaT0zLCBqPWkqaTsgaiA8PSBuOyBpKz0yKXsKICAgICAgICBpZihpc1ByaW1lW2ldKXsKICAgICAgICAgICAgZm9yKDsgaiA8PSBuOyBqKz0yKmkpewogICAgICAgICAgICAgICAgaXNQcmltZVtqXSA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgc3RkOjp2ZWN0b3I8aW50PiByZXQ7CiAgICByZXQucHVzaF9iYWNrKDIpOwogICAgZm9yKGludCBpID0gMzsgaTw9bjsgaSs9Mil7CiAgICAgICAgaWYoaXNQcmltZVtpXSl7CiAgICAgICAgICAgIHJldC5wdXNoX2JhY2soaSk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHJldDsKfQoKdm9pZCBmYWN0b3JpemUoaW50IG4sIHN0ZDo6dmVjdG9yPGludD4gJnByaW1lcyl7CgogICAgZm9yKGludCBwcmltZTogcHJpbWVzKXsKICAgICAgICBpZiggbiA8IHByaW1lIHx8IGNvbnRhaW5zKG4sIHByaW1lcykgKXsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIHdoaWxlKG4lcHJpbWU9PTApewogICAgICAgICAgICBzdGQ6OmNvdXQgPDwgcHJpbWU7CiAgICAgICAgICAgIG4gLz0gcHJpbWU7CiAgICAgICAgICAgIGlmKG49PTEpewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCAiKiI7CiAgICAgICAgfQogICAgfQogICAgc3RkOjpjb3V0IDw8IG47CiAgICByZXR1cm47Cn0KCmludCBtYWluKCkKewogICAgc3RkOjppb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIHN0ZDo6dmVjdG9yPGludD4gcHJpbWVzID0gZ2V0UHJpbWVzKChpbnQpc3FydCg4MDAwMDAwKSk7CiAgICBpbnQgbiwgbnVtYmVyOwogICAgc3RkOjpjaW4gPj4gbjsKICAgIGZvcihpbnQgaT0wOyBpPG47IGkrKyl7CiAgICAgICAgc3RkOjpjaW4gPj4gbnVtYmVyOwogICAgICAgIGlmKG51bWJlcj09MSl7CiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCAxOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgZmFjdG9yaXplKG51bWJlciwgcHJpbWVzKTsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==