program kadaiReduction
  implicit none
  integer i, prod
  prod = 1
!$omp parallel
!$omp do reduction(*:prod)
  do i=1,10
    prod = prod * i
  end do
!$omp end do
!$omp end parallel
  print *, "Product =", prod
end program
