var a:array[0..100]of integer;
n,s:integer;
procedure print;
var i:integer;
begin
for i:=1 to 2*n do write(a[i]:2);
writeln;
end;
procedure f(k,x,y:integer);
var i:integer;
begin
if k>2*n then
begin
s:=s+1;
print;
exit;
end
else
begin
if x<n then
begin
a[k]:=1;
x:=x+1;
f(k+1,x,y);
x:=x-1;
end;
if (y<x) an(y<n) then
begin
a[k]:=0;
y:=y+1;
f(k+1,x,y);
end;
end;
end;
begin
read(n);
f(1,0,0);
write(s);
end.
( ) |