Pagini recente » Cod sursa (job #1551612) | Cod sursa (job #1034999) | Cod sursa (job #1018159) | Cod sursa (job #2711906) | Cod sursa (job #197218)
Cod sursa(job #197218)
var f,g:text;
a:array[1..1000000] of byte;
n,i,d:longint;
begin
assign(f,'multimi2.in');reset(f);
assign(g,'multimi2.out');rewrite(g);
read(f,n);
for i:=1 to n do a[i]:=2;
if n mod 2=0 then
if n mod 4=0 then begin
d:=0;
for i:=1 to n div 4 do a[i]:=1;
for i:=3*n div 4+1 to n do a[i]:=1;
end
else begin
d:=1;
for i:=1 to n div 4 do a[i]:=1;
for i:=n div 4*3+n mod 4 to n do a[i]:=1;
a[n div 2]:=1;
end;
if n mod 2=1 then
if (n-3) mod 4=0 then begin
d:=0;
a[1]:=1;
a[2]:=1;
for i:=4 to (n-3) div 4+3 do a[i]:=1;
for i:=3*(n-3) div 4+4 to n do a[i]:=1;
end
else begin
d:=1;
a[1]:=1;
a[2]:=1;
for i:=4 to (n-3)div 4+3 do a[i]:=1;
for i:=3*(n-3) div 4+3+(n-3)mod 4 to n do a[i]:=1;
a[(n-3) div 2+3]:=1;
end;
writeln(g,d);
if n mod 2=0 then begin
writeln(g,n div 2);
for i:=1 to n do
if a[i]=1 then write(g,i,' ');
writeln(g);
writeln(g, n div 2);
for i:=1 to n do
if a[i]=2 then write(g,i,' ');
end
else begin
writeln(g,n div 2+1);
for i:=1 to n do
if a[i]=1 then write(g,i,' ');
writeln(g);
writeln(g,n div 2);
for i:=1 to n do
if a[i]=2 then write(g,i,' ');
end;
close(f);
close(g);
end.