END DO
ENDIF
C
C calculating arrays MCPN, MA and integer IH
C
DO 1=1, NP
MCPN(l,I)=I
DO J=2, NB
MCPN(J,I)=O
END DO
END DO
DO I=l,NP1
MA(I)=l
END DO
DO N=l,NE
DO J=l,3
ME(J)=IJM(J,N)
END DO
DO L=l,3
DO K=2,3
IBR=O
M1=ME(1)
NG=MA(M1+1)
DO 1=1, NG
B.6. Source Programs
333
IF(ME(K) .EQ.MCPN(I+1,M1))
IBR=l
C
END DO
IF(IBR.EQ.O) THEN
MA(M1+1)=MA(M1+1)+1
NH=MA(M1+1)
MCPN(NH,M1)=ME(K)
ENDIF
END DO
J=ME(l)
ME(1)=ME(2)
ME(2)=ME(3)
ME(3)=J
END DO
END DO
C writing arrays MCPN and MA
C
C
IF (IPR .LT. 2) THEN
WRITE (6, 40)
40 FORMAT (lX, 'MCPN' /)
DO J=l,NP
WRITE (6, 42) (MCPN(I,J), I=l,NB)
42 FORMAT (lX, 918)
END DO
WRITE (6, 44) MA
44 FORMAT (lX,'MA'/,(lX,10I5))
ENDIF
C modifying array MA
C
MA(l)=l
DO N=l,NP
MA(N+1)=MA(N)+MA(N+1)
END DO
IH=MA(NP+1)
IF (IPR .LT. 2) THEN
WRITE (6, 46) MA
ENDIF
C
C calculating arrays MCPN, MA and integer IH
C
DO 1=1, NP
MCPN(l,I)=I
DO J=2, NB
MCPN(J,I)=O
END DO
END DO
DO I=l,NP1
MA(I)=l
END DO
DO N=l,NE
DO J=l,3
ME(J)=IJM(J,N)
END DO
DO L=l,3
DO K=2,3
IBR=O
M1=ME(1)
NG=MA(M1+1)
DO 1=1, NG
B.6. Source Programs
333
IF(ME(K) .EQ.MCPN(I+1,M1))
IBR=l
C
END DO
IF(IBR.EQ.O) THEN
MA(M1+1)=MA(M1+1)+1
NH=MA(M1+1)
MCPN(NH,M1)=ME(K)
ENDIF
END DO
J=ME(l)
ME(1)=ME(2)
ME(2)=ME(3)
ME(3)=J
END DO
END DO
C writing arrays MCPN and MA
C
C
IF (IPR .LT. 2) THEN
WRITE (6, 40)
40 FORMAT (lX, 'MCPN' /)
DO J=l,NP
WRITE (6, 42) (MCPN(I,J), I=l,NB)
42 FORMAT (lX, 918)
END DO
WRITE (6, 44) MA
44 FORMAT (lX,'MA'/,(lX,10I5))
ENDIF
C modifying array MA
C
MA(l)=l
DO N=l,NP
MA(N+1)=MA(N)+MA(N+1)
END DO
IH=MA(NP+1)
IF (IPR .LT. 2) THEN
WRITE (6, 46) MA
