code 31427;
    procedure GSS LAG WGHTS(N, ALFA, X, W);
    value N, ALFA; integer N; real ALFA; array X, W;
    begin integer I, J; real H0, S, R0, R1, R2, XI;
        array A, B[0:N];
        A[0]:= 1 + ALFA; A[1]:= 3 + ALFA; B[1]:= SQRT(A[0]);
        for I:= 2 step 1 until N - 1 do 
        begin A[I]:= I + I + ALFA + 1;
            B[I]:= SQRT(I*(I + ALFA))
        end;
        ALL LAG ZER(N, ALFA, X); H0:= GAMMA(1 + ALFA);
        for I:= 1 step 1 until N do 
        begin XI:= X[I]; R0:= 1;
            R1:= (XI - A[0])/B[1]; S:= 1 + R1*R1;
            for J:= 2 step 1 until N - 1 do 
            begin R2:= ((XI - A[J - 1])*R1 - B[J - 1]*R0)/B[J];
                R0:= R1; R1:= R2; S:= S + R2*R2
                end;
            W[I]:= H0/S
        end 
    end GSS LAG WGHTS;
         eop