#include <iostream>
#include <vector>
#include <math.h>
using namespace std;
int judge(int n)
{
int r = sqrt(n * 1.0), i;
for(i = 2; i <= r; i++)
{
if(n % i == 0)
{
return 0;
}
}
return 1;
}
int main()
{
int n;
scanf("%d", &n);
if(judge(n) == 1)
{
printf("1\n%d\n", n);
return 0;
}
vector<int> v[2];
int i, maxcount = 0, curcount, curn, j;
for(i = 2; i <= n; i++)
{
if(n % i == 0)
{
curn = n;
curcount = 0;
j = i;
v[0].clear();
while(curn % j == 0)
{
v[0].push_back(j);
curn /= j;
j++;
curcount++;
}
if(curcount > maxcount)
{
maxcount = curcount;
v[1].clear();
v[1] = v[0];
}
}
}
printf("%d\n", maxcount);
for(i = 0; i < maxcount; i++)
{
if(i > 0)
{
printf("*");
}
printf("%d", v[1][i]);
}
printf("\n");
system("pause");
return 0;
}