///=======================================//
/// Author : Maruf Tuhin //
/// School : CUET CSE 11 //
/// TopCoder : the_redback //
/// Codeforces : maruf.2hin //
/// UVA : Redback //
/// http://w...content-available-to-author-only...b.com/maruf.2hin //
///=======================================//
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
#define MAX 50001
unsigned long pr[(MAX>>5) +1];
void sieve(int n)
{
long i,j,k,l;
pr[0]=pr[0]|1<<1;
for(i=4; i<=n; i+=2)
pr[i>>6]=pr[i>>5]|1<<(i&31);
for(i=3; i*i<=n; i+=2)
{
if(!(pr[i>>5]&1<<(i&31)))
{
for(j=i*i; j<=n; j+=2*i)
pr[j>>5]=pr[j>>5]|1<<(j&31);
}
}
}
main()
{
vector<int>v;
sieve(50000);
long long n,m;
long long k;
long long i;
int j,t;
while(scanf("%lld",&m)==1)
{
if(m==0)
return 0;
if(m<0)
{
n=m*-1;
}
else
n=m;
k=n;
for(i=2; i*i<=n; i++)
{
while(pr[i>>5]&1<<(i&31))
{
i++;
}
while(k%i==0)
{
k/=i;
v.push_back(i);
}
if(k==1)
break;
}
printf("%lld = ",m);
t=0;
if(m<0)
{
printf("-1");
t=1;
}
for(i=0; i<v.size(); i++)
{
if(t!=0)
printf(" x ");
printf("%d",v[i]);
t=1;
}
if(k!=1)
{
if(t!=0)
printf(" x ");
printf("%lld",k);
}
printf("\n");
v.clear();
}
return 0;
}
Ly8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ly8KLy8vICAgIEF1dGhvciAgICAgOiBNYXJ1ZiBUdWhpbiAgICAgICAgICAgLy8KLy8vICAgIFNjaG9vbCAgICAgOiBDVUVUIENTRSAxMSAgICAgICAgICAgLy8KLy8vICAgIFRvcENvZGVyICAgOiB0aGVfcmVkYmFjayAgICAgICAgICAgLy8KLy8vICAgIENvZGVmb3JjZXMgOiBtYXJ1Zi4yaGluICAgICAgICAgICAgLy8KLy8vICAgIFVWQSAgICAgICAgOiBSZWRiYWNrICAgICAgICAgICAgICAgLy8KLy8vICAgIGh0dHA6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9tYXJ1Zi4yaGluICAgICAgIC8vCi8vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vCiNpbmNsdWRlIDxjc3RkaW8+CiNpbmNsdWRlIDxjc3RyaW5nPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDx2ZWN0b3I+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgTUFYIDUwMDAxCnVuc2lnbmVkIGxvbmcgcHJbKE1BWD4+NSkgKzFdOwoKdm9pZCBzaWV2ZShpbnQgbikKewogICAgbG9uZyBpLGosayxsOwogICAgcHJbMF09cHJbMF18MTw8MTsKCiAgICBmb3IoaT00OyBpPD1uOyBpKz0yKQogICAgICAgIHByW2k+PjZdPXByW2k+PjVdfDE8PChpJjMxKTsKCiAgICBmb3IoaT0zOyBpKmk8PW47IGkrPTIpCiAgICB7CiAgICAgICAgaWYoIShwcltpPj41XSYxPDwoaSYzMSkpKQogICAgICAgIHsKICAgICAgICAgICAgZm9yKGo9aSppOyBqPD1uOyBqKz0yKmkpCiAgICAgICAgICAgICAgICBwcltqPj41XT1wcltqPj41XXwxPDwoaiYzMSk7CiAgICAgICAgfQogICAgfQp9CgptYWluKCkKewogICAgdmVjdG9yPGludD52OwogICAgc2lldmUoNTAwMDApOwogICAgbG9uZyBsb25nIG4sbTsKICAgIGxvbmcgbG9uZyBrOwogICAgbG9uZyBsb25nIGk7CiAgICBpbnQgaix0OwogICAgd2hpbGUoc2NhbmYoIiVsbGQiLCZtKT09MSkKICAgIHsKICAgICAgICBpZihtPT0wKQogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICBpZihtPDApCiAgICAgICAgewogICAgICAgICAgICBuPW0qLTE7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgICAgbj1tOwogICAgICAgIGs9bjsKICAgICAgICBmb3IoaT0yOyBpKmk8PW47IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIHdoaWxlKHByW2k+PjVdJjE8PChpJjMxKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaSsrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHdoaWxlKGslaT09MCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgay89aTsKICAgICAgICAgICAgICAgIHYucHVzaF9iYWNrKGkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKGs9PTEpCiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgcHJpbnRmKCIlbGxkID0gIixtKTsKICAgICAgICB0PTA7CiAgICAgICAgaWYobTwwKQogICAgICAgIHsKICAgICAgICAgICAgcHJpbnRmKCItMSIpOwogICAgICAgICAgICB0PTE7CiAgICAgICAgfQogICAgICAgIGZvcihpPTA7IGk8di5zaXplKCk7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGlmKHQhPTApCiAgICAgICAgICAgICAgICBwcmludGYoIiB4ICIpOwogICAgICAgICAgICBwcmludGYoIiVkIix2W2ldKTsKICAgICAgICAgICAgdD0xOwogICAgICAgIH0KICAgICAgICBpZihrIT0xKQogICAgICAgIHsKICAgICAgICAgICAgaWYodCE9MCkKICAgICAgICAgICAgICAgIHByaW50ZigiIHggIik7CiAgICAgICAgICAgIHByaW50ZigiJWxsZCIsayk7CiAgICAgICAgfQogICAgICAgIHByaW50ZigiXG4iKTsKICAgICAgICB2LmNsZWFyKCk7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=