#include <iostream>
#include <math.h>
using namespace std;
int main() {
int n;
int prime[100000]={-1,-1,0};
for(int i=2;i<100000;i++){
if(prime[i]==0){
prime[i]=1;
for(int j=i+i;j<100000;j+=i){
prime[j]=-1;
}
}
}
while(cin>>n && n!=0){
cout<<n<<" = ";
if(n==-1){
cout<<"-1"<<endl;
continue;
}
else if(n<-1){
cout<<"-1 x ";
n=-n;
}
else if(n==1){
cout<<"1"<<endl;
continue;
}
int temp=n;
bool isPrime = true;
bool isFirstFactor = true;
int sqrtOfN = (double)sqrt((double)n);
for(int num = 2; num<= sqrtOfN && temp!=1 ;num++){
if(prime[num]!=1){
continue;
}
int factor = num;
while(temp%factor==0){
if(isFirstFactor){
isFirstFactor=false;
cout<<factor;
temp/=factor;
isPrime = false;
continue;
}
cout<<" x "<<factor;
temp/=factor;
isPrime = false;
}
}
if(isPrime){ cout<<n<<endl; }
else if(temp>1){ cout<<" x "<<temp<<endl;}
else{ cout<<endl;}
}
return 0;
}