var n,s,s1,x,y,i,nr1,nr2,s2:longint;
f:text;
begin
assign(f,'multimi2.in');reset(f);
read(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 do
if (i mod 4=0) or (i mod 4=3) then
write(f,i, ' ');
writeln(f);
writeln(f, n div 2);
for i:=1 to n do
if (i mod 4=1) or (i mod 4=2) then
write(f,i, ' ');
end
else
if n mod 4=1 then
begin
writeln(f,1);
writeln(f,n div 2);
for i:=2 to n do
if (i mod 4=0) or (i mod 4=3) then
write(f,i, ' ');
writeln(f);
writeln(f, n div 2+1);
for i:=1 to n do
if (i mod 4=1) or (i mod 4=2) then
write(f,i, ' ');
end
else
if n mod 4=2 then
begin
writeln(f,1);
writeln(f,n div 2);
write(f,1,' ');
for i:=3 to n do
if (i mod 4=0) or (i mod 4=3) then
write(f,i, ' ');
writeln(f);
writeln(f, n div 2);
write(f,2,' ');
for i:=3 to n do
if (i mod 4=1) or (i mod 4=2) then
write(f,i, ' ');
end
else
begin
writeln(f,0);
writeln(f,n div 2+1);
write(f,1,' ',2,' ');
for i:=4 to n do
if (i mod 4=0) or (i mod 4=3) then
write(f,i, ' ');
writeln(f);
writeln(f, n div 2);
write(f,3,' ');
for i:=3 to n do
if (i mod 4=1) or (i mod 4=2) then
write(f,i, ' ');
end;
close(f);
end.