# Game of Life
# Designed by Philip Petersen.  In his own words:

# Each location reacts top->down, then left->right.
# Hence, they only need the info: their own 0/1 identity,
# the number of dead cells neighboring vertically, and
# the number of dead cells in the 3 left locations.
# All other information could be grabbed during a reaction.
# Still, even with these minimizing constraints,
# quite a few rxns/variables were needed.

# I also wanted a global clock. I decided to do it with a robot.
# Since there needed to be a boundary on the exterior,
# it doubled as a robot track. The four sides of the track are different.
# On the top, the robot pushes a zero bit down as it goes (top->down).
# This signal propagates straight down causing each location
# to count the number of zeros above and below it in that order.
# When it reaches the bottom track, the signal "opens" the track
# for the robot to pass (meaning the robot cannot continue to the next step
# until all vertical reactions finish).

# Next the robot creates left to right reactions pushing 3 0's
# into the left-most locations while walking by (left->right).
# Each location pushes it's three vertical bits into its right neighbor
# and converts itself to either alive or dead via the Rules.
# I simply used Excel to make the equations via Conway's Rules.
# Again, the robot cannot proceed until all reactions finish.
# Then repeat the top->down step etc.

# As each location retains its alive/dead identity throughout,
# I lumped everything together for easy view-ability.

# Analysis by Erik Winfree: Unlike the other Game of Life implementations,
# this construction is not parallel: a single robot must pass through
# all the cells, for each time step -- for to update an NxM grid of sites,
# the simulated time will need to advance by O(NxM).  This is unlike
# the spinning-arrow and broadcast-swap-sum constructions, which are
# fully parallel and reaquite O(1) time per effective update of the
# synchronous cellular automata rules.

# Also note that the speedup_factor is nicely chosen to match the time
# it takes for the robot to scan the whole field, so intermediate steps
# are seldom or never seen.  Change speedup_factor to 1 to look under
# the hood.

pixels_per_node    = 25
speedup_factor     = 10000
max_duration       = 80000
node_display       = Color

!START_COLORMAP
{Edges} F,F1,F2,Cz,C3,b,a,e,f,d,x,X,g,S,C,D,E,Cx,Dx,D3,E3,F3,Sx,Ex,Sr,Sz,Dz,Ez: (0,255,255)
{Zero} 0,2,00b00,01b00,02b00,03b00,00b01,01b01,02b01,03b01,00b02,01b02,02b02,03b02,00b20,01b20,02b20,03b20,00b21,01b21,02b21,03b21,00b22,01b22,02b22,03b22,00,01,20,21,a00,a01,a02,a20,a21,a22: (255,255,255)
{One} 1,3,00b10,01b10,02b10,03b10,00b11,01b11,02b11,03b11,00b12,01b12,02b12,03b12,00b30,01b30,02b30,03b30,00b31,01b31,02b31,03b31,00b32,01b32,02b32,03b32,10,11,30,31,a10,a11,a12,a30,a31,a32: (0,0,0)
!END_COLORMAP

!START_TRANSITION_RULES
F + 0 -> F1 + 00 (1)
F + 1 -> F1 + 10 (1)
F + 2 -> F1 + 20 (1)
F + 3 -> F1 + 30 (1)

F + a02 -> F1 + 03b02 (1)
F + a01 -> F1 + 03b01 (1)
F + a12 -> F1 + 03b12 (1)
F + a11 -> F1 + 03b11 (1)
F + a00 -> F1 + 03b00 (1)
F + a10 -> F1 + 03b10 (1)

F1 + b -> a + F (1)
F2 + d -> X + F2 (1)
F2 + e -> g + F2 (1)

F1 + D -> a + Dx (1)
Dx + d -> Dz + F2 (1)

F2 + E -> X + Ex (1)
Ex + e -> Ez + F2 (1)

F2 + C -> g + Cx (1)
Cx + b -> Cz + F (1)

S + a -> Sr + a (1)
Sr + F1 -> Sx + F3 (1)
F3 + a -> b + F3 (1)
b + Sx -> b + Sz (1)
F3 + Cz -> b + C3 (1)
C3 + g -> C + F3 (1)
F3 + g -> x + F3 (1)
F3 + Ez -> x + E3 (1)
E3 + f -> E + F3 (1)
F3 + f -> d + F3 (1)
F3 + Dz -> d + D3 (1)
D3 + a -> D + F3 (1)
F3 + Sz -> F + S (1)

00 + 0 -> a02 + 00 (1)
00 + 1 -> a01 + 10 (1)
10 + 0 -> a12 + 01 (1)
10 + 1 -> a11 + 11 (1)
20 + 2 -> a22 + 20 (1)
20 + 3 -> a21 + 30 (1)
30 + 2 -> a32 + 21 (1)
30 + 3 -> a31 + 31 (1)

01 + 0 -> a01 + 00 (1)
01 + 1 -> a00 + 10 (1)
11 + 0 -> a11 + 01 (1)
11 + 1 -> a10 + 11 (1)
21 + 2 -> a21 + 20 (1)
21 + 3 -> a20 + 30 (1)
31 + 2 -> a31 + 21 (1)
31 + 3 -> a30 + 31 (1)

03b00 + a22 -> 0 + 01b22 (1)
03b00 + a21 -> 1 + 01b21 (1)
03b00 + a32 -> 1 + 01b32 (1)
03b00 + a31 -> 0 + 01b31 (1)
03b00 + a20 -> 0 + 01b20 (1)
03b00 + a30 -> 0 + 01b30 (1)
03b01 + a22 -> 0 + 02b22 (1)
03b01 + a21 -> 0 + 02b21 (1)
03b01 + a32 -> 0 + 02b32 (1)
03b01 + a31 -> 1 + 02b31 (1)
03b01 + a20 -> 1 + 02b20 (1)
03b01 + a30 -> 0 + 02b30 (1)
03b02 + a22 -> 0 + 03b22 (1)
03b02 + a21 -> 0 + 03b21 (1)
03b02 + a32 -> 0 + 03b32 (1)
03b02 + a31 -> 0 + 03b31 (1)
03b02 + a20 -> 0 + 03b20 (1)
03b02 + a30 -> 1 + 03b30 (1)
03b10 + a22 -> 1 + 00b22 (1)
03b10 + a21 -> 1 + 00b21 (1)
03b10 + a32 -> 1 + 00b32 (1)
03b10 + a31 -> 0 + 00b31 (1)
03b10 + a20 -> 0 + 00b20 (1)
03b10 + a30 -> 0 + 00b30 (1)
03b11 + a22 -> 0 + 01b22 (1)
03b11 + a21 -> 1 + 01b21 (1)
03b11 + a32 -> 1 + 01b32 (1)
03b11 + a31 -> 1 + 01b31 (1)
03b11 + a20 -> 1 + 01b20 (1)
03b11 + a30 -> 0 + 01b30 (1)
03b12 + a22 -> 0 + 02b22 (1)
03b12 + a21 -> 0 + 02b21 (1)
03b12 + a32 -> 0 + 02b32 (1)
03b12 + a31 -> 1 + 02b31 (1)
03b12 + a20 -> 1 + 02b20 (1)
03b12 + a30 -> 1 + 02b30 (1)
02b00 + a22 -> 1 + 01b22 (1)
02b00 + a21 -> 0 + 01b21 (1)
02b00 + a32 -> 0 + 01b32 (1)
02b00 + a31 -> 0 + 01b31 (1)
02b00 + a20 -> 0 + 01b20 (1)
02b00 + a30 -> 0 + 01b30 (1)
02b01 + a22 -> 0 + 02b22 (1)
02b01 + a21 -> 1 + 02b21 (1)
02b01 + a32 -> 1 + 02b32 (1)
02b01 + a31 -> 0 + 02b31 (1)
02b01 + a20 -> 0 + 02b20 (1)
02b01 + a30 -> 0 + 02b30 (1)
02b02 + a22 -> 0 + 03b22 (1)
02b02 + a21 -> 0 + 03b21 (1)
02b02 + a32 -> 0 + 03b32 (1)
02b02 + a31 -> 1 + 03b31 (1)
02b02 + a20 -> 1 + 03b20 (1)
02b02 + a30 -> 0 + 03b30 (1)
02b10 + a22 -> 1 + 00b22 (1)
02b10 + a21 -> 0 + 00b21 (1)
02b10 + a32 -> 0 + 00b32 (1)
02b10 + a31 -> 0 + 00b31 (1)
02b10 + a20 -> 0 + 00b20 (1)
02b10 + a30 -> 0 + 00b30 (1)
02b11 + a22 -> 1 + 01b22 (1)
02b11 + a21 -> 1 + 01b21 (1)
02b11 + a32 -> 1 + 01b32 (1)
02b11 + a31 -> 0 + 01b31 (1)
02b11 + a20 -> 0 + 01b20 (1)
02b11 + a30 -> 0 + 01b30 (1)
02b12 + a22 -> 0 + 02b22 (1)
02b12 + a21 -> 1 + 02b21 (1)
02b12 + a32 -> 1 + 02b32 (1)
02b12 + a31 -> 1 + 02b31 (1)
02b12 + a20 -> 1 + 02b20 (1)
02b12 + a30 -> 0 + 02b30 (1)
01b00 + a22 -> 0 + 01b22 (1)
01b00 + a21 -> 0 + 01b21 (1)
01b00 + a32 -> 0 + 01b32 (1)
01b00 + a31 -> 0 + 01b31 (1)
01b00 + a20 -> 0 + 01b20 (1)
01b00 + a30 -> 0 + 01b30 (1)
01b01 + a22 -> 1 + 02b22 (1)
01b01 + a21 -> 0 + 02b21 (1)
01b01 + a32 -> 0 + 02b32 (1)
01b01 + a31 -> 0 + 02b31 (1)
01b01 + a20 -> 0 + 02b20 (1)
01b01 + a30 -> 0 + 02b30 (1)
01b02 + a22 -> 0 + 03b22 (1)
01b02 + a21 -> 1 + 03b21 (1)
01b02 + a32 -> 1 + 03b32 (1)
01b02 + a31 -> 0 + 03b31 (1)
01b02 + a20 -> 0 + 03b20 (1)
01b02 + a30 -> 0 + 03b30 (1)
01b10 + a22 -> 0 + 00b22 (1)
01b10 + a21 -> 0 + 00b21 (1)
01b10 + a32 -> 0 + 00b32 (1)
01b10 + a31 -> 0 + 00b31 (1)
01b10 + a20 -> 0 + 00b20 (1)
01b10 + a30 -> 0 + 00b30 (1)
01b11 + a22 -> 1 + 01b22 (1)
01b11 + a21 -> 0 + 01b21 (1)
01b11 + a32 -> 0 + 01b32 (1)
01b11 + a31 -> 0 + 01b31 (1)
01b11 + a20 -> 0 + 01b20 (1)
01b11 + a30 -> 0 + 01b30 (1)
01b12 + a22 -> 1 + 02b22 (1)
01b12 + a21 -> 1 + 02b21 (1)
01b12 + a32 -> 1 + 02b32 (1)
01b12 + a31 -> 0 + 02b31 (1)
01b12 + a20 -> 0 + 02b20 (1)
01b12 + a30 -> 0 + 02b30 (1)
00b00 + a22 -> 0 + 01b22 (1)
00b00 + a21 -> 0 + 01b21 (1)
00b00 + a32 -> 0 + 01b32 (1)
00b00 + a31 -> 0 + 01b31 (1)
00b00 + a20 -> 0 + 01b20 (1)
00b00 + a30 -> 0 + 01b30 (1)
00b01 + a22 -> 0 + 02b22 (1)
00b01 + a21 -> 0 + 02b21 (1)
00b01 + a32 -> 0 + 02b32 (1)
00b01 + a31 -> 0 + 02b31 (1)
00b01 + a20 -> 0 + 02b20 (1)
00b01 + a30 -> 0 + 02b30 (1)
00b02 + a22 -> 1 + 03b22 (1)
00b02 + a21 -> 0 + 03b21 (1)
00b02 + a32 -> 0 + 03b32 (1)
00b02 + a31 -> 0 + 03b31 (1)
00b02 + a20 -> 0 + 03b20 (1)
00b02 + a30 -> 0 + 03b30 (1)
00b10 + a22 -> 0 + 00b22 (1)
00b10 + a21 -> 0 + 00b21 (1)
00b10 + a32 -> 0 + 00b32 (1)
00b10 + a31 -> 0 + 00b31 (1)
00b10 + a20 -> 0 + 00b20 (1)
00b10 + a30 -> 0 + 00b30 (1)
00b11 + a22 -> 0 + 01b22 (1)
00b11 + a21 -> 0 + 01b21 (1)
00b11 + a32 -> 0 + 01b32 (1)
00b11 + a31 -> 0 + 01b31 (1)
00b11 + a20 -> 0 + 01b20 (1)
00b11 + a30 -> 0 + 01b30 (1)
00b12 + a22 -> 1 + 02b22 (1)
00b12 + a21 -> 0 + 02b21 (1)
00b12 + a32 -> 0 + 02b32 (1)
00b12 + a31 -> 0 + 02b31 (1)
00b12 + a20 -> 0 + 02b20 (1)
00b12 + a30 -> 0 + 02b30 (1)

03b20 + a02 -> 2 + 01b02 (1)
03b20 + a01 -> 3 + 01b01 (1)
03b20 + a12 -> 3 + 01b12 (1)
03b20 + a11 -> 2 + 01b11 (1)
03b20 + a00 -> 2 + 01b00 (1)
03b20 + a10 -> 2 + 01b10 (1)
03b21 + a02 -> 2 + 02b02 (1)
03b21 + a01 -> 2 + 02b01 (1)
03b21 + a12 -> 2 + 02b12 (1)
03b21 + a11 -> 3 + 02b11 (1)
03b21 + a00 -> 3 + 02b00 (1)
03b21 + a10 -> 2 + 02b10 (1)
03b22 + a02 -> 2 + 03b02 (1)
03b22 + a01 -> 2 + 03b01 (1)
03b22 + a12 -> 2 + 03b12 (1)
03b22 + a11 -> 2 + 03b11 (1)
03b22 + a00 -> 2 + 03b00 (1)
03b22 + a10 -> 3 + 03b10 (1)
03b30 + a02 -> 3 + 00b02 (1)
03b30 + a01 -> 3 + 00b01 (1)
03b30 + a12 -> 3 + 00b12 (1)
03b30 + a11 -> 2 + 00b11 (1)
03b30 + a00 -> 2 + 00b00 (1)
03b30 + a10 -> 2 + 00b10 (1)
03b31 + a02 -> 2 + 01b02 (1)
03b31 + a01 -> 3 + 01b01 (1)
03b31 + a12 -> 3 + 01b12 (1)
03b31 + a11 -> 3 + 01b11 (1)
03b31 + a00 -> 3 + 01b00 (1)
03b31 + a10 -> 2 + 01b10 (1)
03b32 + a02 -> 2 + 02b02 (1)
03b32 + a01 -> 2 + 02b01 (1)
03b32 + a12 -> 2 + 02b12 (1)
03b32 + a11 -> 3 + 02b11 (1)
03b32 + a00 -> 3 + 02b00 (1)
03b32 + a10 -> 3 + 02b10 (1)
02b20 + a02 -> 3 + 01b02 (1)
02b20 + a01 -> 2 + 01b01 (1)
02b20 + a12 -> 2 + 01b12 (1)
02b20 + a11 -> 2 + 01b11 (1)
02b20 + a00 -> 2 + 01b00 (1)
02b20 + a10 -> 2 + 01b10 (1)
02b21 + a02 -> 2 + 02b02 (1)
02b21 + a01 -> 3 + 02b01 (1)
02b21 + a12 -> 3 + 02b12 (1)
02b21 + a11 -> 2 + 02b11 (1)
02b21 + a00 -> 2 + 02b00 (1)
02b21 + a10 -> 2 + 02b10 (1)
02b22 + a02 -> 2 + 03b02 (1)
02b22 + a01 -> 2 + 03b01 (1)
02b22 + a12 -> 2 + 03b12 (1)
02b22 + a11 -> 3 + 03b11 (1)
02b22 + a00 -> 3 + 03b00 (1)
02b22 + a10 -> 2 + 03b10 (1)
02b30 + a02 -> 3 + 00b02 (1)
02b30 + a01 -> 2 + 00b01 (1)
02b30 + a12 -> 2 + 00b12 (1)
02b30 + a11 -> 2 + 00b11 (1)
02b30 + a00 -> 2 + 00b00 (1)
02b30 + a10 -> 2 + 00b10 (1)
02b31 + a02 -> 3 + 01b02 (1)
02b31 + a01 -> 3 + 01b01 (1)
02b31 + a12 -> 3 + 01b12 (1)
02b31 + a11 -> 2 + 01b11 (1)
02b31 + a00 -> 2 + 01b00 (1)
02b31 + a10 -> 2 + 01b10 (1)
02b32 + a02 -> 2 + 02b02 (1)
02b32 + a01 -> 3 + 02b01 (1)
02b32 + a12 -> 3 + 02b12 (1)
02b32 + a11 -> 3 + 02b11 (1)
02b32 + a00 -> 3 + 02b00 (1)
02b32 + a10 -> 2 + 02b10 (1)
01b20 + a02 -> 2 + 01b02 (1)
01b20 + a01 -> 2 + 01b01 (1)
01b20 + a12 -> 2 + 01b12 (1)
01b20 + a11 -> 2 + 01b11 (1)
01b20 + a00 -> 2 + 01b00 (1)
01b20 + a10 -> 2 + 01b10 (1)
01b21 + a02 -> 3 + 02b02 (1)
01b21 + a01 -> 2 + 02b01 (1)
01b21 + a12 -> 2 + 02b12 (1)
01b21 + a11 -> 2 + 02b11 (1)
01b21 + a00 -> 2 + 02b00 (1)
01b21 + a10 -> 2 + 02b10 (1)
01b22 + a02 -> 2 + 03b02 (1)
01b22 + a01 -> 3 + 03b01 (1)
01b22 + a12 -> 3 + 03b12 (1)
01b22 + a11 -> 2 + 03b11 (1)
01b22 + a00 -> 2 + 03b00 (1)
01b22 + a10 -> 2 + 03b10 (1)
01b30 + a02 -> 2 + 00b02 (1)
01b30 + a01 -> 2 + 00b01 (1)
01b30 + a12 -> 2 + 00b12 (1)
01b30 + a11 -> 2 + 00b11 (1)
01b30 + a00 -> 2 + 00b00 (1)
01b30 + a10 -> 2 + 00b10 (1)
01b31 + a02 -> 3 + 01b02 (1)
01b31 + a01 -> 2 + 01b01 (1)
01b31 + a12 -> 2 + 01b12 (1)
01b31 + a11 -> 2 + 01b11 (1)
01b31 + a00 -> 2 + 01b00 (1)
01b31 + a10 -> 2 + 01b10 (1)
01b32 + a02 -> 3 + 02b02 (1)
01b32 + a01 -> 3 + 02b01 (1)
01b32 + a12 -> 3 + 02b12 (1)
01b32 + a11 -> 2 + 02b11 (1)
01b32 + a00 -> 2 + 02b00 (1)
01b32 + a10 -> 2 + 02b10 (1)
00b20 + a02 -> 2 + 01b02 (1)
00b20 + a01 -> 2 + 01b01 (1)
00b20 + a12 -> 2 + 01b12 (1)
00b20 + a11 -> 2 + 01b11 (1)
00b20 + a00 -> 2 + 01b00 (1)
00b20 + a10 -> 2 + 01b10 (1)
00b21 + a02 -> 2 + 02b02 (1)
00b21 + a01 -> 2 + 02b01 (1)
00b21 + a12 -> 2 + 02b12 (1)
00b21 + a11 -> 2 + 02b11 (1)
00b21 + a00 -> 2 + 02b00 (1)
00b21 + a10 -> 2 + 02b10 (1)
00b22 + a02 -> 3 + 03b02 (1)
00b22 + a01 -> 2 + 03b01 (1)
00b22 + a12 -> 2 + 03b12 (1)
00b22 + a11 -> 2 + 03b11 (1)
00b22 + a00 -> 2 + 03b00 (1)
00b22 + a10 -> 2 + 03b10 (1)
00b30 + a02 -> 2 + 00b02 (1)
00b30 + a01 -> 2 + 00b01 (1)
00b30 + a12 -> 2 + 00b12 (1)
00b30 + a11 -> 2 + 00b11 (1)
00b30 + a00 -> 2 + 00b00 (1)
00b30 + a10 -> 2 + 00b10 (1)
00b31 + a02 -> 2 + 01b02 (1)
00b31 + a01 -> 2 + 01b01 (1)
00b31 + a12 -> 2 + 01b12 (1)
00b31 + a11 -> 2 + 01b11 (1)
00b31 + a00 -> 2 + 01b00 (1)
00b31 + a10 -> 2 + 01b10 (1)
00b32 + a02 -> 3 + 02b02 (1)
00b32 + a01 -> 2 + 02b01 (1)
00b32 + a12 -> 2 + 02b12 (1)
00b32 + a11 -> 2 + 02b11 (1)
00b32 + a00 -> 2 + 02b00 (1)
00b32 + a10 -> 2 + 02b10 (1)

01 + x -> a01 + e (1)
00 + x -> a02 + e (1)
11 + x -> a11 + e (1)
10 + x -> a12 + e (1)
21 + x -> a21 + e (1)
20 + x -> a22 + e (1)
31 + x -> a31 + e (1)
30 + x -> a32 + e (1)

00b00 + X -> 0 + f (1)
01b00 + X -> 0 + f (1)
02b00 + X -> 1 + f (1)
03b00 + X -> 0 + f (1)
00b01 + X -> 0 + f (1)
01b01 + X -> 1 + f (1)
02b01 + X -> 0 + f (1)
03b01 + X -> 0 + f (1)
00b02 + X -> 1 + f (1)
01b02 + X -> 0 + f (1)
02b02 + X -> 0 + f (1)
03b02 + X -> 0 + f (1)
00b10 + X -> 1 + f (1)
01b10 + X -> 1 + f (1)
02b10 + X -> 0 + f (1)
03b10 + X -> 0 + f (1)
00b11 + X -> 1 + f (1)
01b11 + X -> 1 + f (1)
02b11 + X -> 0 + f (1)
03b11 + X -> 0 + f (1)
00b12 + X -> 1 + f (1)
01b12 + X -> 1 + f (1)
02b12 + X -> 0 + f (1)
03b12 + X -> 0 + f (1)

!END_TRANSITION_RULES

!START_INIT_STATE

S F b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b D
b 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
b 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 3 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
b 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 3 0 3 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
b 0 2 0 2 0 2 0 2 0 2 0 2 0 3 1 2 0 2 0 2 0 3 1 2 0 2 0 2 0 2 0 2 0 2 0 3 1 2 0 2 0 2 0 2 0 2 0 d
b 0 2 0 2 0 2 0 2 0 2 0 2 1 2 0 2 1 2 0 2 0 3 1 2 0 2 0 2 0 2 0 2 0 2 0 3 1 2 0 2 0 2 0 2 0 2 0 d
b 0 3 1 2 0 2 0 2 0 2 0 3 0 2 0 2 0 3 0 2 0 3 1 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
b 0 3 1 2 0 2 0 2 0 2 0 3 0 2 0 3 0 3 1 2 0 2 0 3 0 3 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
b 0 2 0 2 0 2 0 2 0 2 0 3 0 2 0 2 0 3 0 2 0 2 0 2 0 3 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
b 0 2 0 2 0 2 0 2 0 2 0 2 1 2 0 2 1 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
b 0 2 0 2 0 2 0 2 0 2 0 2 0 3 1 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
b 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
b 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
b 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
b 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
b 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
b 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
b 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
b 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 d
C x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x E


!END_INIT_STATE