program EX01_comb;
uses wincrt;
type
tab=array[1..30] of integer;
var t:tab;
n,i:integer;
procedure saisie (var t:tab; var n:integer);
begin repeat
writeln('Donner N entre 5..30 :');
readln(n);
until n in [2..30];
for i:=1 to n do repeat
writeln('Donner T ',i);
readln(t[i]);
until (t[i]>=100) and (t[i]<=999);
end;
function premier(y:integer):boolean;
var dd,k:integer;
begin dd:=0;
for k:=2 to y-1 do if y mod k =0 then dd:=dd+1;
premier:=dd=0;
end;
function former (x:integer):boolean;
var
u,d,j,c:integer;
v:tab;
begin
c:=x div 100;
d:=(x mod 100) div 10;
u:=x mod 10;
v[1]:=x ;
v[2]:=(c*100)+(u*10)+d ; v[3]:= (u*100)+(d*10)+c;
v[4]:= (u*100)+(c*10)+d;
v[5]:= (d*100)+(c*10)+u;
v[6]:= (d*100)+(u*10)+c;
v[7]:= c*10+d;
v[8]:= c*10+u;
v[9]:= d*10+c ; v[10]:= d*10+u ; v[11]:= u*10+c ; v[12]:= u*10+d ; j:=0;
repeat inc(j);
until (premier(v[j])=false) or (j=12);
former:=premier(v[j]);
end;
begin
saisie(t,n);
for i:=1 to n do if former(t[i]) then writeln(i,'|',t[i]);
end.