Program multimi2{pre ONI 2008 runda1} ;
var f,g:text;
n,i:longint;
begin
assign(f,'multimi2.in');reset(f);
assign(g,'multimi2.out');rewrite(g);
readln(f,n);
case n mod 4 of
0: begin
writeln(g,0);
writeln(g,n div 2);
for i :=1 to n do
if (i mod 4 =0) or (i mod 4=1) then
write(g,i,' ');
writeln(g);
writeln(g,n div 2);
for i :=1 to n do
if (i mod 4 =2) or (i mod 4=3) then
write(g,i,' ')
end;
1: begin
writeln(g,1);
writeln(g,n div 2+1); write(g,1,' ');
for i :=2 to n do
if (i mod 4 =0) or (i mod 4=3) then
write(g,i,' ');
writeln(g);
writeln(g,n div 2);
for i :=2 to n do
if (i mod 4 =2) or (i mod 4=1) then
write(g,i,' ');
writeln(g);
end;
2: begin
writeln(g,1);
writeln(g,n div 2); write(g,1,' ');
for i :=3 to n do
if (i mod 4 =0) or (i mod 4=1) then
write(g,i,' ');
writeln(g);
writeln(g,n div 2); write(g,2,' ');
for i :=3 to n do
if (i mod 4 =0) or (i mod 4=1) then
write(g,i,' ');
writeln(g);
end;
3: begin
writeln(g,0);
writeln(g,n div 2+1); write(g,1,' ',2,' ');
for i :=4 to n do
if (i mod 4 =0) or (i mod 4=3) then
write(g,i,' ');
writeln(g);
writeln(g,n div 2); write(g,3,' ');
for i :=4 to n do
if (i mod 4 =1) or (i mod 4=2) then
write(g,i,' ');
writeln(g);
end;
end;
close(f);close(g);
end.