Program p4pag186;

type AdresaCelula=^Celula;
     Celula=record
                  info : integer;
                  urm  : AdresaCelula;
            end;
var p1,p2,
    q1,q2,
    r1,r2 : AdresaCelula;
    s : integer;
     t1,t2:boolean;
procedure Creare;
begin
 t1:=false;
 t2:=false;
 p1:=nil;
 p2:=nil;
write('s='); readln(s);
  if s>0 then begin
  new(r1); r1^.info:=s; r1^.urm:=nil;
  p1:=r1; q1:=r1;t1:=true; end
         else begin
  new(r2); r2^.info:=s; r2^.urm:=nil;
  p2:=r2; q2:=r2; t2:=true;end;
write('s=');
 while not eof  do begin
     readln(s); write('s=');
      if s>0 then begin
 if t1 then begin  new(r1); r1^.info:=s; r1^.urm:=nil;
  q1^.urm:=r1;q1:=r1;end else begin
  new(r1); r1^.info:=s; r1^.urm:=nil;p1:=r1; q1:=r1;t1:=true; end; end
         else begin
if t2 then begin
     new(r2); r2^.info:=s; r2^.urm:=nil;
     q2^.urm:=r2;q2:=r2;end
      else begin new(r2); r2^.info:=s; r2^.urm:=nil;
  p2:=r2; q2:=r2;t2:=true;end; end;
  end;
 end;
{ Creare }
procedure Afisare;
begin
 r1:=p1;
 writeln ('cele pozitive');
 while r1<>nil do
   begin
     writeln(r1^.info);
     r1:=r1^.urm;
   end;
 readln;

 r2:=p2;
 writeln ('cele negative');
 while r2<>nil do
   begin
     writeln(r2^.info);
     r2:=r2^.urm;
   end;
end; { Afisare }
begin
 Creare;
 Afisare;
end.

