code 31364;
procedure SELZERORTPOL (N, N1, N2, B, C, ZER, EM);
value N, N1, N2; integer N, N1, N2; array B, C, ZER, EM;
begin integer I;real NRM;array D[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:=N-2step -1until 1do 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,D,B);
    VALSYMTRI (D, C, N, N1, N2, ZER, EM);
    EM[5]:=EM[3]
end SELZERORTPOL;
        eop