      program move
      real ha(5,5), a(5,5), b(6)
cmf$  layout ha(:host)
      integer i
      a = 0
      forall (i=1:6) b(i) = i 
      a(1,1:5) = b(2:6)
      a(3,3:5) = b(1:3)
      a(3:5,2) = b(1:3)
      ha = a
      do i = 1, 5
        print 5, ha(i,:)
      end do
      print *, ' '
c      2  3  4  5  6
c      0  0  0  0  0
c      0  1  1  2  3
c      0  2  0  0  0
c      0  3  0  0  0
      print *, 'Results should be '
      print *, '  2  3  4  5  6'
      print *, '  0  0  0  0  0'
      print *, '  0  1  1  2  3'
      print *, '  0  2  0  0  0'
      print *, '  0  3  0  0  0'
  5   FORMAT (5F10.5)
      end
