Cod sursa(job #120189)

Utilizator ioalexno1Alexandru Bunget ioalexno1 Data 4 ianuarie 2008 15:11:28
Problema Multimi2 Scor 80
Compilator fpc Status done
Runda Arhiva de probleme Marime 2.14 kb
program alex;
var f:text;
    n,i,k:longint;
begin
assign(f,'multimi2.in');reset(f);
readln(f,n);
close(f);
assign(f,'multimi2.out');rewrite(f);
k:=n div 4;
if n mod 4=0 then begin
                  writeln(f,0);
                  writeln(f,n div 2);
                  for i:=1 to k do
                      write(f,i,' ');
                  for i:=k*3+1 to n do
                      write(f,i,' ');
                  writeln(f);
                  writeln(f,n div 2);
                  for i:=k+1 to k*3 do
                      write(f,i,' ');
                  end;
if n mod 4=3 then begin
                  writeln(f,0);
                  writeln(f,n div 2+1);
                  write(f,1,' ',2,' ');
                  for i:=4 to k+3 do
                      write(f,i,' ');
                  for i:=k*3+4 to n do
                      write(f,i,' ');
                  writeln(f);
                  writeln(f,n div 2);
                  write(f,3,' ');
                  for i:=k+4 to k*3+3 do
                      write(f,i,' ');
                  end;
if(n mod 4=2)and(n<>2)then begin
                  writeln(f,1);
                  writeln(f,n div 2);
                  write(f,1,' ');
                  for i:=2 to k+2 do
                      write(f,i,' ');
                  for i:=k*2+3 to n do
                      write(f,i,' ');
                  writeln(f);
                  writeln(f,n div 2+1);
                  for i:=k+3 to k*3+2 do
                      write(f,i,' ');
                  end;
if n mod 4=1 then begin
                  writeln(f,1);
                  writeln(f,n div 2+1);
                  for i:=1 to k+1 do
                      write(f,i,' ');
                  for i:=k*3+2 to n do
                      write(f,i,' ');
                  writeln(f);
                  writeln(f,n div 2);
                  for i:=k+2 to k*3+1 do
                      write(f,i,' ');
                  end;
if n=2 then begin
            writeln(f,1);
            writeln(f,1);
            writeln(f,1);
            writeln(f,1);
            writeln(f,2);
            end;
close(f);
end.