procedure permantate(date:iarr; n:integer);
var p,q,r,k,i:integer;
a,d,e:array[1..3] of integer;
procedure doprint;
var i:integer;
begin
for i:=1 to 3 do
write(date[a[i]]:3);
writeln
end;
label sw;
begin
for i:=1 to 3 do
begin
a[i]:=i; d[i]:=i; e[i]:=-1
end;
sw:
q:=0;
doprint;
for k:=n downto 2 do
begin
p:=d[k]+e[k]; d[k]:=p;
if p=k then e[k]:=-1 else
if p=0 then
begin
e[k]:=1; q:=q+1
end
else
begin
p:=p+q; r:=a[p];
a[p]:=a[p+1]; a[p+1]:=r;
goto sw
end
end;
end;
{main}
const data:array[1..n] of integer=(3,6,9);
var a:iarr;
i:integer;
begin
for i:=1 to n do a[i]:=data[i];
permantate(a,n);
readln;
end.