var f,g:text;
n,i,s:longint;
begin
assign(f,'multimi2.in');reset(f);
assign(g,'multimi2.out');rewrite(g);
readln(f,n);
if n mod 4=0 then
begin
writeln(g,0);
s:=n div 2;
writeln(g,s);
for i:=1 to n do
if (i mod 4=0) or (i mod 4=3) then write(g,i,' ');
writeln(g);
writeln(g,s);
for i:=1 to n do
if (i mod 4=1) or (i mod 4=2) then write(g,i,' ');
writeln(g);
end
else if n mod 4=1 then
begin
writeln(g,1);
s:=(n-1) div 2;
writeln(g,s);
for i:=1 to n do
if (i mod 4=0) or (i mod 4=3) then write(g,i,' ');
writeln(g);
writeln(g,s+1);
for i:=1 to n do
if (i mod 4=1) or (i mod 4=2) then write(g,i,' ');
writeln(g);
end
else if n mod 4=2 then
begin
writeln(g,'1');
s:=n div 2;
writeln(g,s);
write(g,1,' ');
for i:=n downto n+1-((s-1) div 2) do write(g,i,' ');
for i:=3 to 2+(s-1) div 2 do write(g,i,' ');
writeln(g);
writeln(g,s);
write(g,2,' ');
for i:=3+(s-1) div 2 to n-(s-1) div 2 do write(g,i,' ');
writeln(g);
end
else if n mod 4=3 then
begin
writeln(g,'0');
s:=(n-3) div 2;
writeln(g,s+1);
for i:=3 to n do
if (i mod 4=0) or (i mod 4=3) then write(g,i,' ');
writeln(g);
writeln(g,(s+2));
for i:=1 to n do
if (i mod 4=1) or (i mod 4=2) then write(g,i,' ');
writeln(g);
end;
close(f);
close(g);
end.