void yinshu_f(int *yinshu,int *n,int num)
{
for(int j=2;j<=num;++j)
{
if(num%j==0)
{
int flag=0;
for(int k=2;k<=sqrt(j);++k)
{
if(j%k==0)
{
flag=1;
break;
}
}
if(flag==0)
{
yinshu[(*n)++]=j;
//printf("%d\n",j);
yinshu_f(yinshu,n,num/j);
return ;
}
}
}
}
int main()
{
int n,num;
int i=0;
scanf("%d",&n);
int yinshu[100],len=0;
for(i=0;i<n;++i)
{
scanf("%d",&num);
yinshu_f(yinshu,&len,num);
printf("%d=",num);
for(int i=0;i<len;++i)
{
printf("%d",yinshu[i]);
if(i!=len-1)
printf("*");
else
printf("\n");
}
len=0;
}
return 0;
}