代码:
var
n,i,j,s:longint;
a:array[-10..10000000]of boolean;
b:array[1..4]of longint=(1,3,7,9);
procedure dfs(s,t:longint);
var
i:longint;
begin
if t=n then begin if not a[s] then writeln(s);end;
for i:=1 to 4 do
if not a[s*10+b[i]] then
dfs(s*10+b[i],t+1);
end;
begin
readln(n);
s:=1;
for i:=1 to n do s:=s*10;
a[1]:=true;
for i:=2 to trunc(sqrt(s))do
if not a[i] then
for j:=i to (s) div i do
a[i*j]:=true;
dfs(2,1);
dfs(3,1);
dfs(5,1);
dfs(7,1);
end.