Cod sursa(job #110767)
var v:array[1..1000001]of integer;
i,j:longint;
n,c,k:int64;
f:text;
begin
assign(f,'multimi2.in');
reset(f);
read(f,n);
close(f);
k:=(n+1)*n div 4;
i:=n;
repeat
k:=k-i;
c:=c+1;
v[i]:=1;
i:=i-1;
until k<i;
if k>0 then begin v[k]:=1;
c:=c+1;
end;
assign(f,'multimi2.out');
rewrite(f);
writeln(f,n*(n+1)div 2 mod 2);
writeln(f,c);
for i:=1 to n do
if v[i]=1 then write(f,i,' ');
writeln(f);
writeln(f,n-c);
for i:=1 to n do
if v[i]=0 then write(f,i,' ');
writeln(f);
close(f);
end.