	program v2
	integer, parameter :: nproc0 = 16
	integer, parameter :: N = 16
	integer, dimension(N) :: ia
 	integer :: i,j,k

	real, dimension(N) :: a, b

C       Block decomposition, no communication, test forall, 
C          index as operant

C$	DECOMPOSITION dd(16)
C$      DISTRIBUTE dd(BLOCK)
C$      align a with dd

        a=[1:N]
        forall (i = 1 : N) a(i) = a(i+1) + i
        forall (i = 1 : N) a(i) = i

	print *,'a=', a        

	stop
	end
