Cod sursa(job #118449)

Utilizator m123pop manu m123 Data 25 decembrie 2007 17:11:40
Problema Multimi2 Scor 80
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.45 kb
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 =2) or (i mod 3=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.