program qpl2;
var
p:array[1..9] of integer;
i,k:integer;
noend:boolean;
f:text;
function pass:boolean;
var i:integer;
nums:set of 1..9;
begin
nums:=[];
for i:=1 to 9 do begin
if p[i] in nums then exit(false) else nums:=nums+[p[i]];
end;
exit(true);
end;
function checknoend:boolean;
var i:integer;
begin
for i:=1 to 9 do if p[i]<>i then exit(true);
exit(false);
end;
procedure out;
var i:integer;
begin
for i:= 9 downto 1 do write(f,p[i]:1);
writeln(f);
end;
begin
assign(f,'c:/everstray/list.txt');
rewrite(f);
for i:=1 to 9 do p[i]:=10-i;
out;{PASSED}
writeln(pass);
noend:=true;
while noend do begin
if pass then out;
begin
k:=1;
p[k]:=p[k]+1;
while p[k]>=10 do begin
p[k]:=1;
k:=k+1;
p[k]:=p[k]+1;
end;
write(k);
noend:=checknoend;
end;
end;
end.