PROGRAM Sieunguyento ; USES crt; VAR dem:WORD; n:BYTE; a,b : LONGINT; i: LONGINT; f1,f2 : TEXT; FUNCTION lt(x,y:INTEGER):LONGINT; VAR i: BYTE;k: LONGINT; BEGIN k:=x; IF y=0 THEN lt:=1 ELSE FOR i:=1 TO y-1 DO k:= x * k; lt:=k; END; FUNCTION ngto(x:LONGINT):BOOLEAN; VAR i:LONGINT; BEGIN Ngto:=TRUE; FOR i:=2 TO x-1 DO IF x MOD i = 0 THEN BEGIN ngto:=FALSE; exit; END; END; FUNCTION snt(x:LONGINT):BOOLEAN; VAR i: BYTE; BEGIN snt:= TRUE; FOR i:=1 TO n-1 DO BEGIN x:=x DIV 10; IF NOT ngto(x) THEN BEGIN snt:= FALSE; exit; END; END; END; BEGIN clrscr; Assign(f1,'NT.INP'); Reset(f1); Readln(f1,N); Close(f1); Assign(f2,'NT.OUT'); Rewrite(f2); IF n= 1 THEN BEGIN writeln(f2,'2 3 5 7 ') ; write(f2,'Co 4 so sieu nguyen to co 1 chu so '); END ELSE BEGIN b:=(10*lt(10,n-1)-1); FOR a:=lt(10,n-1) TO b DO IF ngto(a) AND snt(a) THEN BEGIN dem:=dem+1; write(f2,a:n+2); END; Writeln(f2); Writeln(f2,'Co ',dem,' so sieu nguyen to co ',n,' chu so' ); END; close(f2); END.