Cod sursa(job #189021)

Utilizator netedu_andreiFII Andrei Netedu netedu_andrei Data 11 mai 2008 15:56:00
Problema Multimi2 Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.44 kb
var f,g:text;
    n,i,s:integer;
begin
assign(f,'multimi2.in');reset(f);
assign(g,'multimi2.out');rewrite(g);
readln(f,n);
if n mod 4=0 then
   begin
   writeln(g,'0');
   s:=n mod 2;
   writeln(g,s);
   for i:=1 to n do
   if (i div 4=0) or (i div 4=3) then write(g,i,' ');
   writeln(g);
   writeln(g,s);
   for i:=1 to n do
   if (i div 4=1) or (i div 4=2) then write(g,i,' ');
   writeln(g);
   end
else if n mod 4=1 then
     begin
     writeln(g,'1');
     s:=(n-1) mod 2;
     writeln(g,s);
     for i:=1 to n do
     if (i div 4=0) or (i div 4=3) then write(g,i,' ');
     writeln(g);
     writeln(g,(s+1));
     for i:=1 to n do
     if (i div 4=1) or (i div 4=2) then write(g,i,' ');
     writeln(g);
     end
else if n mod 4=2 then
     begin
     writeln(g,'1');
     s:=(n-2) mod 2;
     writeln(g,s+1);
     for i:=1 to n do
     if (i div 4=0) or (i div 4=3) or (i=2) then write(g,i,' ');
     writeln(g);
     writeln(g,(s+1));
     for i:=1 to n do
     if (i div 4=1) and (i<>2) or (i div 4=2) and (i<>2) then write(g,i,' ');
     writeln(g);
     end
else if n mod 4=3 then
     begin
     writeln(g,'0');
     s:=(n-3) mod 2;
     writeln(g,s+1);
     for i:=1 to n do
     if (i div 4=0) or (i div 4=3) then write(g,i,' ');
     writeln(g);
     writeln(g,(s+2));
     for i:=1 to n do
     if (i div 4=1) or (i div 4=2) then write(g,i,' ');
     writeln(g);
     end;
close(f);
close(g);
end.