#include<bits/stdc++.h>
using namespace std;
string s;
bool iszhi(long long x){
if(x<2||x!=2&&x%2==0)return false;
for(int i=3;i*i<=x;i+=2){
if(x%i==0)return false;
}
return true;
}
int main(){
while(getline(cin,s)){
cout<<"Enter the number="<<endl;
long long cnt=0;
bool flag=false;
for(long long i=0;i<s.size()&&cnt<=40000000;i++){
if(s[i]>='0'&&s[i]<='9')cnt=cnt*10+(s[i]-'0'),flag=true;
}
if(flag==false)continue;
cout<<"Prime? ";
if(iszhi(cnt)==true&&cnt<=40000000){
cout<<"Yes!"<<endl<<endl;
continue;
}else cout<<"No!"<<endl;
if(cnt<2){
cout<<endl;
continue;
}
if(cnt>40000000){
cout<<"The number is too large!"<<endl<<endl;
continue;
}
cout<<cnt<<'=';
flag=0;
for(long long i=2;i*i<=cnt;i++){
long long sum=0;
while(cnt%i==0){
cnt/=i;
sum++;
}
if(sum){
if(flag){
cout<<'*'<<i<<'^'<<sum;
sum=0;
}else{
cout<<i<<'^'<<sum;
flag=1;
sum=0;
}
}
}
if(iszhi(cnt))cout<<'*'<<cnt<<"^1"<<endl<<endl;
else cout<<endl<<endl;
}
return 0;
}