program mpi_openmp

include 'mpif.h'
	INTEGER N, I, RANK, size, ierr, tag
	PARAMETER (N = 4)
	INTEGER ARRAY(N)
	call MPI_INIT(ierr)
	call MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierr)
	call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr)

	DO I = 1, size
	ARRAY(I) = 0
	ENDDO

	!$OMP PARALLEL PRIVATE(TID) SHARED(ARRAY)

	TID = OMP_GET_THREAD_NUM()

	print *, 'HELLO FROM PROC', RANK,'AND THREAD', TID
	
	ARRAY(RANK) = ARRAY(RANK) + 1
	ARRAY(RANK) = ARRAY(RANK) + TID

	!$OMP END PARALLEL

	call MPI_FINALIZE(ierr)

end program mpi_openmp

