program kadaiTime
  !$ use omp_lib
  implicit none
  integer,parameter :: N = 1000*1000, M = 100
  integer i, j
  double precision,allocatable :: a(:)
  double precision x
  !$ double precision st, en
  allocate(a(N))
  !$ st = omp_get_wtime()
!$omp parallel private(x)
!$omp do
  do i=1,N
    x = 0
    do j=1,M
      x = x + log(dble(i+j))
    end do
    a(i) = x/M
  end do
!$omp end do
!$omp end parallel
  !$ en = omp_get_wtime()
  print *, nint(sum(a))
  !$ print *, "Elapsed time :", en-st
end program
