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