![]()
#include<iostream>
#include<cmath>
#define ll long long //-2^64“ 到”2^64 -1
using namespace std;
int main()
{
ll n; //输入的数
ll sum=0,start; //sum代表因子总数,start代表连续因子开始的位置
cin>>n;
for(int i=2;i<=sqrt(n);i++)
{
if(n%i!=0) //如果不是因子跳过
continue;
ll a=n; //这里要转存一下
ll b=i;
ll num=0;
while(a%b==0&&a!=0) //暴力得到所有连续因子
{
a/=b; //保证了得到的是刚好乘积等于n的连续因子
b++; //让b增加得到连续
num++; //记录连续因子个数
}
if(sum<num)
{
sum=num; //更新sum,此处不能用<=,因为我们时从小到大遍历的,所以当长度相同时不交换
start=i; //得到起始位置
}
}
if(sum==0) //代表只能被自己整除,是素数
{
cout<<1<<endl<<n<<endl;
}
else{
cout<<sum<<endl;
for(int i=start;i<sum+start;i++)
{
if(i-start==0) //如果只有一个前面就不需要*号了
cout<<i;
else
cout<<"*"<<i;
}
}
return 0;
}