      PROGRAM LIFE
      PARAMETER (N = 23)
      INTEGER BOARD (N, N), BOARD1 (N, N)
      INTEGER Ti1, Ti2
      INTEGER Tllb1
      INTEGER Tlub1
      INTEGER minLoc1, maxLoc1, minLoc2, maxLoc2, coord(3)
      COMMON /g_to_l/minLoc1, maxLoc1, minLoc2, maxLoc2, coord
      INTEGER proclist(8)
      INTEGER TT0temp
      proclist(1)=-1
      TT0temp = 1
      DO Ti1 = 1, N
      DO Ti2 = 1, N
      BOARD (Ti1, Ti2) = 0
      END DO
      END DO
      TT0temp = 1
      DO I = 1, N
      BOARD (I, I) = 1
      END DO
7004  CONTINUE
      TT0temp = 1
      DO J = 2, N - 1
      DO I = 2, N - 1
      BOARD1 (I, J) = BOARD (I, J - 1) + BOARD (I, J + 1) + BOARD (I - 1
     &, J) + BOARD (I + 1, J)
      END DO
      END DO
      TT0temp = 1
      DO Ti1 = 1, N
      DO Ti2 = 1, N
      BOARD (Ti1, Ti2) = BOARD1 (Ti1, Ti2)
      END DO
      END DO
      TT0temp = 1
      DO J = 1, N
      DO I = 1, N
      IF ((BOARD (I, J) .LE. 3) .AND. (BOARD (I, J) .EQ. 0)) THEN
      BOARD (I, J) = 1
      END IF
      END DO
      END DO
      TT0temp = 1
      DO J = 1, N
      DO I = 1, N
      IF (BOARD (I, J) .GT. 3) THEN
      BOARD (I, J) = 0
      END IF
      END DO
      END DO
      DO 7002 I = 1, N
      DO 7000 J = 1, N
      II = I + 0.0
      JJ = J + 0.0
      IF (BOARD (I, J) .EQ. 0) THEN
      CALL klabel (' ', I, J)
      ELSE
      CALL klabel ('X', I, J)
      END IF
7000  CONTINUE
7002  CONTINUE
      CALL ksendp ()
      GO TO 7004
      STOP
      END
