      program host_ca

c     N : size of automata
c     M : number of iterations
      integer N, M
      parameter (N=78)
      parameter (M=100)

      logical*1 feld (1:N)
      logical*1 hfeld (1:N[1:1])   ! has an overlap
      logical*1 host_feld (1:N)

CMF$  Layout host_feld (:host)
      character s (1:N)
CMF$  Layout s (:host)
      integer i, k

      feld = .false.
      feld (N/2) = .true.

      do k = 1,M
         host_feld = feld        
         hfeld = feld
         forall (i=1:N)
           feld(i) = hfeld(i-1) .ne. hfeld(i+1)
         end forall
         do i=1,N
            s(i) = ' '
            if (host_feld(i)) s(i) = '*'
         end do
         print *, s
      end do
      end
