program signals;
var
  M,N:word;
  i,j,t:word;

function pow(a:integer;b:integer):word;
var
  temp:word;
begin
  temp := 1;
  for i:=1 to b do
  temp := temp * a;

  pow := temp;
end;

begin
  N:=4;
  M:=pow(2,N div 2);
  writeln(M);
  for i:=0 to M-1 do
  begin
//    writeln('i: ',i);
    t:=i;
    for j:=1 to (N div 2) do
    begin
      write(t mod 2,t mod 2);
      t:=t div 2;
    end;
    for j:=1 to (N - ((N div 2)*2)) do
      write('0');
    writeln;
  end;
end.
