begin repeat var i,k,n:comp=1;read(n);write(n,^});repeat i:=i+1;if i>1e5then i:=n;k:=0;while n mod i=0do begin n:=n div i;k:=k+1end;if k>0then write(i,copy(^+stringof(k),ord(k>1)),("* ")[1+1div n])until n=1until 0>0end.