begin repeat var i,k,m,n:comp=0;read(n);write(n,^});for i:=2to 50000do begin k:=0;while n mod i=0do begin n:=n div i;k:=k+1end;if k<1then continue;write("*":m,i);m:=1;if k>1then write(^,k)end;if n>1then write("*":m,n);writeln until 0>0end.