      PROGRAM v1
      INTEGER nproc0
      PARAMETER (nproc0 = 4)
      INTEGER N
      PARAMETER (N = 16)
      INTEGER ia (N)
      INTEGER i, j, k
      REAL a (4)
      REAL b
C     DECOMPOSITION d (16)
C     DISTRIBUTE d (BLOCK)
C     ALIGN a WITH d
      INTEGER Tllb1
      INTEGER Tlub1
      INTEGER minLoc1, maxLoc1, minLoc2, maxLoc2, coord(3)
      COMMON /g_to_l/minLoc1, maxLoc1, minLoc2, maxLoc2, coord
      INTEGER proclist(8)
      INTEGER a_comm (5,7), b_comm (5,7)
      CALL EXP_init_1 (4, 4)
      DO i = 1, 4
      a (i) = (i + minLoc1 - 1)
      END DO
      DO 7000 i = 1, N
      CALL parameter_for_comm (a_comm, 1, i - minLoc1 + 1, i - minLoc1 +
     & 1, 4)
      CALL broadcast_R (b, 0, b_comm, a, 1, a_comm, (i - 1) / 4)
      CALL ksingl (6)
      WRITE (6, 1) i, b
1     FORMAT (1x,'a',i2,'=',f10.3)
      CALL kflush (6)
7000  CONTINUE
      STOP
      END
