    PROGRAM MAIN
    USE OMP_LIB
    IMPLICIT NONE
      INTEGER,PARAMETER :: NLP=100
      INTEGER :: I
      INTEGER :: TMAX,TID

      TMAX = OMP_GET_MAX_THREADS()
      WRITE(*,'("MAXIMUM NUMBER OF THREADS: ",I2)') TMAX

!$OMP PARALLEL PRIVATE(TID)
      TID = OMP_GET_THREAD_NUM()
!$OMP DO
      DO I=1,NLP
          WRITE(*,'("HELLO WORLD! (I: ",I5,", TID: ",I2,")")') I,TID
      END DO
!$OMP END DO
!$OMP END PARALLEL 

    END PROGRAM MAIN
