SUBROUTINE sub3(npts,seed,output)
INTEGER npts,seed,output(npts)
INTEGER j
DOUBLE PRECISION dmagio1,dmagio2,doubt
dmagio1 = DBLE(7**5)
dmagio2 = DBLE(2*(2**30 - 1) + 1)
doubt = DBLE(seed)
output(1) = doubt
DO j = 2,npts
doubt = MOD(dmagio1*doubt,dmagio2)
output(j) = INT(doubt)
END DO
doubt = MOD(dmagio1*DBLE(output(npts)),dmagio2)
seed = INT(doubt)
RETURN
END