code 31362;
procedure ALLZERORTPOL (N, B, C, ZER, EM);
value N; integer N; array B, C, ZER, EM;
begin integer I;real NRM;array BB[1:N];
procedure DUPCEV (L, U, SHIFT, A, B);
value L,U,SHIFT;integer L,U,SHIFT;array A,B;
for U:=U step -1 until L do A[U]:=B[U+SHIFT];
NRM:=ABS(B[0]);
for I:=1step 1until N-2do if C[I]+ABS(B[I])>NRM"THEN"
NRM:=C[I]+ABS(B[I]);
if N>1then NRM:=if NRM+1>=C[N-1]+ABS(B[N-1])then NRM+1else
C[N-1]+ABS(B[N-1]);
EM[1]:=NRM; DUPCEV(1,N,-1,ZER,B);
DUPVEC(1,N-1,0,BB,C);BB[N]:=0;
QRIVALSYMTRI(ZER,BB,N,EM)
end ALLZERORTPOL
eop