#include
#include
#include
using namespace std;
int main()
{
long long n,ans=0;//注意long long
cin>>n;
vector f;//存储因子
for(int i=2;i<=sqrt(n);i++)//这里要用到sqrt,降低时间复杂度
{
if(n%i==0)
{
f.push_back(i);
n/=i;
i--;//这里i--,是因为如果n能分解成两个相同的质因数,那么i不应该改变,还需再次判断
}
}
f.push_back(n);//将最后一个因子存入数组
int len=f.size();
for(int i=0;i<len;i++)//枚举起始位置
{
int j=i+1;
while(j<len)//枚举结束位置
{
int tmp=1;
for(int k=i;k<=j;k++) tmp*=f[k];//计算连续的因子乘积
if(n%tmp==0) j++;//如果能被整除,说明是连续的因子,结束位置j加1
else break;//否则跳出循环
}
if(j-i>ans)//如果当前连续因子个数大于原来的连续因子个数
{
ans=j-i;
cout<<ans<<endl;
cout<<f[i];
for(int k=i+1;k<j;k++) cout<<"*"<<f[k];//输出最小的连续因子序列
}
}
return 0;