PROGRAM arrayinit 

  IMPLICIT NONE
  INTEGER, parameter :: n=3, m=6, p=12, q=5
  INTEGER :: a(3) = (/ n, (m/n), (p/n) /)
  !REAL :: arr(3) = (/ 1.0, exp(1.0), exp(2.0) /)
  REAL :: arr(3) = [ 1.0, exp(1.0), exp(2.0) ] 
  
  INTEGER :: k
  REAL, DIMENSION(6) :: marks = [ 0.0, (k/10.,k=2,q), 10.0 ] 

  PRINT *, 'a = ',a
  PRINT *, 'arr = ',arr

  PRINT *, 'marks = ',marks

END PROGRAM arrayinit
