PROGRAM Giaithua;
USES crt;
VAR n,i,s1:INTEGER;a:ARRAY[1..100] OF INTEGER ;dem:BYTE; f1,f2 :TEXT ;
FUNCTION GT(x:BYTE):LONGINT;
VAR i: BYTE; y:LONGINT;
BEGIN
y:=1;
FOR i:= 1 TO x DO
y:=y*i;
GT:=y;
END;
PROCEDURE TSNT(x:LONGINT);
VAR i,k: LONGINT;
BEGIN
k:= 1;
FOR i:= 2 TO x DO
WHILE x MOD i = 0 DO
BEGIN
x:=x DIV i ;
a[k]:=i;
k:= k+1 ;
END;
s1:=k-1;
END;
BEGIN
assign(f1,'Songuyen.inp');
assign(f2,'Giaithua.out');
Reset(f1);
Rewrite(f2);
Readln(f1,n);
TSNT(GT(n));
dem:=1;
FOR i:=1 TO s1 DO
IF (a[i] = a[i+1]) THEN dem:=dem+1 ELSE IF dem =1 THEN write(f2,a[i],'*') ELSE BEGIN write(f2,a[i],'(',dem,')*'); dem:=1;END;
close(f1);
close(f2);
END.