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.