10 кл, кодик

USES Crt;

TYPE
sv=^zveno;
zveno=record
elem:Integer;
sled:sv
end;
Procedure Free_(var t:sv);
BEGIN
if t<>Nil then
begin
Free_(t^.sled);Dispose(t);t:=Nil;
end;

END;
VAR
a,n:sv;
el:Integer;
BEGIN
clrscr;
writeln;
WriteLn(memavail);
new(a);
n:=a;
n^.sled:=nil;
Write(‘Input numbers (end-0) ‘);
Read(el);
While el<>0 do
begin
new(n^.sled);
n:=n^.sled;
n^.elem:=el;
n^.sled:=nil;
Read(el);
end;

{============}
n:=a^.sled;
While n<>Nil do
begin
Write(n^.elem,’ ‘);
n:=n^.sled;
end;
readln;
writeLn(memavail);
Free_(a);
WriteLn(Memavail);
Readln;
END.