Cod sursa(job #189091)

Utilizator netedu_andreiFII Andrei Netedu netedu_andrei Data 12 mai 2008 06:28:47
Problema Multimi2 Scor 50
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.44 kb
var f,g:text;
    n,i,s:longint;
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 div 2;
   writeln(g,s);
   for i:=1 to n do
   if (i mod 4=0) or (i mod 4=3) then write(g,i,' ');
   writeln(g);
   writeln(g,s);
   for i:=1 to n do
   if (i mod 4=1) or (i mod 4=2) then write(g,i,' ');
   writeln(g);
   end
else if n mod 4=1 then
     begin
     writeln(g,'1');
     s:=(n-1) div 2;
     writeln(g,s);
     for i:=1 to n do
     if (i mod 4=0) or (i mod 4=3) then write(g,i,' ');
     writeln(g);
     writeln(g,s+1);
     for i:=1 to n do
     if (i mod 4=1) or (i mod 4=2) then write(g,i,' ');
     writeln(g);
     end
else if n mod 4=2 then
     begin
     writeln(g,'1');
     s:=(n-2) div 2;
     writeln(g,s+1);
     write(g,'1 ');
     for i:=1 to n do
     if (i mod 4=0) or (i mod 4=3) then write(g,i,' ');
     writeln(g);
     writeln(g,(s+1));
     for i:=1 to n do
     if (i mod 4=1) and (i<>1) or (i mod 4=2) then write(g,i,' ');
     writeln(g);
     end
else if n mod 4=3 then
     begin
     writeln(g,'0');
     s:=(n-3) div 2;
     writeln(g,s+1);
     for i:=1 to n do
     if (i mod 4=0) or (i mod 4=3) then write(g,i,' ');
     writeln(g);
     writeln(g,(s+2));
     for i:=1 to n do
     if (i mod 4=1) or (i mod 4=2) then write(g,i,' ');
     writeln(g);
     end;
close(f);
close(g);
end.