Splitters with common SL

For discussion of specific patterns or specific families of patterns, both newly-discovered and well-known.
User avatar
dvgrn
Moderator
Posts: 10565
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Splitters with common SL

Post by dvgrn » December 16th, 2014, 9:09 am

dvgrn wrote:How many more lanes do we need to solve before the first following glider becomes so exposed that it can be picked off before the front one?
Here's quick look at lane offsets N=3 through 7. Here's the farthest forward that a following glider can be placed on lane N, while still allowing the combination construct-then-shove on lane 0. At lane 7, the following glider no longer guards the lead one, and can be picked off directly by the loaf-and-beehive insertion mechanism:

Code: Select all

x = 255, y = 114, rule = B3/S23
241bo$241bobo$241b2o$237bo$237bobo$237b2o2$249bo$235bobo11bobo$235b2o
12b2o$236bo$239bobo$239b2o$240bo10$237b2o$236bo2bo$237bobo$238bo4$241b
o$240bobo$240bobo$241bo2$238b2o$239b2o$19b2obo50b2o3b2o46b2obo45b2obo
59bo10bob2o$19bob2o50b2o3b2o46bob2o45bob2o70b2obo$23b2o99b2o47b2o78b2o
$23bo49b2o3b2o44bo48bo80bo$24bo48bobobobo45bo48bo78bo$23b2o50bobo46b2o
47b2o78b2o$19b2obo51b2obo48b2obo45b2obo72b2o$19bob2o55b2o46bob2o45bob
2o73bo$23b2o54bo50b2o41b2o4b2o70bo$23bo54bo51bo42bo5bo71b2o$24bo53b2o
51bo42bo5bo68b2o$23b2o54bo50b2o41b2o4b2o69bo$19b2obo55bo47b2obo45b2obo
70bo$19bob2o55b2o46bob2o45bob2o70b2o10$16bo54bo49bo49bo69bo$16bobo52bo
bo47bobo47bobo67bobo$16b2o53b2o48b2o48b2o68b2o$12bo54bo49bo49bo69bo$
12bobo52bobo47bobo47bobo67bobo$12b2o8bo44b2o9bo38b2o48b2o68b2o$22bobo
52bo50bo50bo$22b2o53b3o48bobo47bo70bo$10bobo52bobo47bobo10b2o35bobo10b
3o54bobo11bobo$10b2o7bo45b2o8bo39b2o48b2o68b2o12b2o$11bo7bobo44bo7bo
41bo8bo40bo9bo59bo$19b2o53b3o48bobo47bo70bo$125b2o48b3o68bobo$246b2o
11$5b2o53b2o48b2o48b2o68b2o$4bo2bo51bo2bo46bo2bo46bo2bo66bo2bo$5bobo
52bobo47bobo47bobo67bobo$6bo54bo49bo49bo69bo4$9bo54bo49bo49bo69bo$bo6b
obo45bo6bobo40bo6bobo40bo6bobo60bo6bobo$obo5bobo44bobo5bobo39bobo5bobo
39bobo5bobo59bobo5bobo$2o7bo45b2o7bo40b2o7bo40b2o7bo60b2o7bo2$6b2o53b
2o48b2o48b2o68b2o$7b2o53b2o48b2o48b2o68b2o$6bo54bo49bo49bo69bo13$18bo
54bo49bo49bo69bo$17b2o53b2o48b2o48b2o68b2o$17bobo52bobo47bobo47bobo67b
obo!
I think this leaves just a few cases for lanes 1-6 where the trailing glider is farther forward than the ones shown. Seems likely that these can all be handled in similar ways. Maybe a proof of universal slow-constructibility can consist of a complete collection of all possible glider offsets at the front corner of a large salvo, with a mechanism for constructing one of the front gliders in each case.

User avatar
dvgrn
Moderator
Posts: 10565
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Splitters with common SL

Post by dvgrn » December 19th, 2014, 5:26 pm

dvgrn wrote:I think this leaves just a few cases for lanes 1-6 where the trailing glider is farther forward than the ones shown. Seems likely that these can all be handled in similar ways. Maybe a proof of universal slow-constructibility can consist of a complete collection of all possible glider offsets at the front corner of a large salvo, with a mechanism for constructing one of the front gliders in each case.
Extrementhusiast's clock-to-glider trick works down to the minimum leading distance for lane offsets from 0 to 6, as shown:

Code: Select all

x = 309, y = 52, rule = B3/S23
8b2obo44b2o48bob2o46b2obo46b2o3b2o45b2obo36b2obo$8bob2o45bo48b2obo46bo
b2o46b2o3b2o45bob2o36bob2o$6b2o4b2o42bo53b2o48b2o94b2o38b2o$6bo5bo43b
2o53bo48bo45b2o3b2o43bo39bo$7bo5bo96bo50bo44bobobobo44bo39bo$6b2o4b2o
42b2o52b2o48b2o46bobo45b2o38b2o$6bo5bo44bo48bob2o46b2obo47b2obo47b2obo
36b2obo$7bo5bo42bo49b2obo46bob2o51b2o45bob2o36bob2o$6b2o4b2o42b2o46b2o
54b2o50bo49b2o32b2o4b2o$6bo5bo92bo54bo50bo50bo33bo5bo$7bo5bo42b2o46bo
56bo49b2o50bo33bo5bo$6b2o4b2o43bo46b2o54b2o50bo49b2o32b2o4b2o$8b2obo
44bo49bob2o46b2obo51bo46b2obo36b2obo$8bob2o44b2o48b2obo46bob2o51b2o45b
ob2o36bob2o9$209bo89bo$10bo48bo48bo48bo50bo48bo40bo$10bobo46bobo46bobo
46bobo48b3o46bobo38b3o$10b2o47b2o47b2o47b2o46bo51b2o36bo$6bo9bo38bo48b
o48bo50bo48bo40bo$6bobo5b2o39bobo6bobo37bobo8bo37bobo48b3o46bobo38b3o$
6b2o7b2o38b2o7b2o38b2o7b2o38b2o8bo51bo37b2o$65bo48b2o47bobo49bobo46bo
41bo$13bo149b2o39bo10b2o47bobo27bo11bobo$4bobo4b2o40bobo5bobo38bobo7bo
38bobo48b2o47bobo10b2o26b2o12b2o$4b2o6b2o39b2o6b2o39b2o6b2o39b2o7bo42b
2o7bo38b2o40b2o$5bo48bo7bo40bo7b2o39bo7bobo49bobo37bo8bo41bo$160b2o50b
2o47bobo39bobo$261b2o40b2o2$294bo$203bo48bo39b2o$4bo48bo48bo48bo49b2o
47b2o42b2o$2b2o47b2o47b2o47b2o52b2o47b2o39bo$4b2o47b2o47b2o47b2o49bo
48bo$3bo48bo48bo48bo$290b2o$199b2o47b2o40b2o$2o47b2o47b2o47b2o50b2o47b
2o$2o47b2o47b2o47b2o$293bo$202bo48bo40b2o$3bo48bo48bo48bo50b2o47b2o40b
obo$2b2o47b2o47b2o47b2o50bobo46bobo$2bobo46bobo46bobo46bobo!
The 6-lane offset case seems particularly impressive. It makes me wonder if there might be a relatively simple rule for a proof by induction -- something like "in any SW-traveling salvo, the first glider that touches an arbitrary line with slope 1/5 is always constructible with a clock conversion."

-- Actually I think the above trial pattern implies that a simple horizontal line could be used... just pick the rightmost glider if multiple gliders touch at once. Can any Evil Salvo counterexample be constructed that successfully guards the rightmost first glider to touch an arbitrary horizontal line, against a clock+domino construction?

Then... are there any other options besides clock+domino that work in all the same cases -- any P1 constellations, in particular? It's kind of expensive to go around smashing clocks all the time.

chris_c
Posts: 966
Joined: June 28th, 2014, 7:15 am

Re: Splitters with common SL

Post by chris_c » December 19th, 2014, 10:12 pm

I have written a script that reproduces any SW glider salvo using Extrementhusiast's clock based inserter (or at least I hope I have).

The primary idea is to sort the gliders by distance to the south-west followed by distance to the north-west. In this lexicographic ordering a glider that it is "greater" than another can always be constructed without obstruction except in a small number of cases.

Specifically, those cases are when two gliders differ by 7 lanes and the back glider is 1, 2, 3 or 4 ticks behind the lead glider and south-east of it.

In those cases I calculate a set of more advanced gliders that need to be made before the back one. I think the code gives a more obvious description than I can:

Code: Select all

import golly as g


def chained_gliders(glider):

    timing, lane = glider
    return [(timing + i, lane-7) for i in [1, 2, 3, 4]]


def is_chained(glider, fullsalvo):

    return any(x in fullsalvo for x in chained_gliders(glider))


def calculate_subsalvo(subsalvo, fullsalvo):
    
    for glider in sorted(subsalvo):

        if glider not in fullsalvo:
            # glider must have been done ahead of order
            continue

        if is_chained(glider, fullsalvo):
            
            new_subsalvo = []
            t0, l0 = glider

            for t1, l1 in fullsalvo:
                if l1 < l0 and t0 < t1 <= t0 + 4:
                    new_subsalvo.append((t1, l1))

            for x in calculate_subsalvo(new_subsalvo, fullsalvo):
                yield x

        fullsalvo.remove(glider)
        yield glider
            

def calculate_salvo(salvo):

    for x in calculate_subsalvo(salvo, set(salvo)):
        yield x


g_coords = g.transform(g.parse('bo$o$3o!'), 0, -2)
g_coords = zip(g_coords[::2], g_coords[1::2])


def get_salvo():
    
    r = g.getrect()
    if not r:
        return []

    cells = g.getcells(r)
    new_cells = g.evolve(cells, 100)

    if len(new_cells) != len(cells):
        return []

    a, b = min(new_cells[::2]), max(new_cells[::2])
    c, d = min(new_cells[1::2]), max(new_cells[1::2])

    if r != [a+25, c-25, b-a+1, d-c+1]:
        return []

    ret = []

    for i in range(4):
        cells_list = zip(cells[::2], cells[1::2])
        cells_set = set(cells_list)
        for x0, y0 in cells_list:
            if all((x0+x, y0+y) in cells_set for (x, y) in g_coords):
                ret.append((2 * (y0-x0) - i, x0+y0))
        cells = g.evolve(cells, 1)

    return ret


clock_turner = g.parse('3bo$3bobo$2bobo$4bo3$2o$2o!', 0, -4)
g_ne = g.parse('3o$o$bo!', -6, -1)

def glider_rewind(gens):

    phase = -gens % 4
    glider = g.evolve(g_ne, phase)
    return g.transform(glider, (gens + phase) / 4, (gens + phase) / 4)

def place_turner(glider, x_coord, width):

    timing, lane = glider
    g.putcells(g.evolve(clock_turner, timing % 2), x_coord - width, lane - x_coord)
    g.putcells(glider_rewind(2 * lane - timing), -width, lane - 2 * x_coord)

r = g.getrect()
if r:
    step = r[2] + r[3] + 20
    offset = r[0] - step
    for glider in calculate_salvo(get_salvo()):
        place_turner(glider, offset, r[2] + 20)
        offset -= step
It only does anything if it detects that the current pattern is made up solely of non-colliding SW gliders. In that case it places a bunch of NW gliders and clock-turners that (hopefully) reproduce the SW glider salvo but shifted west by some number of cells.

Here it is in action eating Evil Glider Salvo #2 for breakfast with an annoying wing of "chained" gliders added to make things more difficult. It seems to be working well but some proper crash testing is definitely in order.

Code: Select all

x = 13269, y = 26214, rule = B3/S23
13199bo$13194bobo2bobo$13194b2o3b2o$13195bo$13190bobo9bo$13190b2o5bobo
2bobo$13191bo5b2o3b2o$13186bobo9bo$13186b2o5bobo$13187bo5b2o5bobo2bo$
13194bo5b2o3bobo$13183bobo3bobo9bo3b2o$13183b2o4b2o5bobo10bo$13184bo5b
o5b2o11bobo$13197bo6bobo2b2o$13180bobo3bobo3bobo9b2o7bo$13180b2o4b2o4b
2o11bo7bobo$13181bo5bo5bo3bo10bobo2b2o$13196bo4bobo4b2o7bo$13177bobo3b
obo3bobo4b3o2b2o6bo7bobo$13177b2o4b2o4b2o11bo9bobo2b2o$13178bo5bo5bo
14bobo4b2o$13198bo6b2o6bo$13180bobo3bobo3bo3b2o8bo9bobo$13180b2o4b2o4b
obo2b2o10bobo4b2o$13181bo5bo4b2o8bobo4b2o6bo$13202b2o6bo$13183bobo3bo
13bo9bobo$13183b2o4bobo6bobo5bobo4b2o$13184bo4b2o7b2o6b2o6bo$13199bo7b
o$13186bo7bobo5bobo5bobo$13186bobo5b2o6b2o6b2o$13186b2o7bo7bo7bo$
13190bobo5bobo5bobo$13190b2o6b2o6b2o$13191bo7bo7bo$13194bobo5bobo5bo$
13194b2o6b2o6bobo$13195bo7bo6b2o$13198bobo14bo$13198b2o13b2o$13199bo
14b2o$13218bo$13217bo$13217b3o2$13221bobo$13221b2o$13222bo$13225bo$
13225bobo$13225b2o$13230bo$13228b2o$13229b2o$13233bo$13232bo$13232b3o
2$13236bobo$13236b2o$13237bo$13240bo$13240bobo$13240b2o$13245bo$13243b
2o$13244b2o$13248bo$13247bo$13247b3o2$13251bobo$13251b2o$13252bo$
13255bo$13255bobo$13255b2o$13260bo$13258b2o$13259b2o$13263bo$13262bo$
13262b3o2$13266bobo$13266b2o$13267bo132$12867bo$12867bobo$12866bobo$
12868bo3$12864b2o$12864b2o201$12666bo$12666bobo$12665bobo$12667bo3$
12663b2o$12663b2o10$13081b2o$13081bobo$13081bo190$12465bo$12465bobo$
12464bobo$12466bo3$12462b2o$12462b2o201$12264bo$12264bobo$12263bobo$
12265bo3$12261b2o$12261b2o5$13084b2o$13084bobo$13084bo194$12063bo$
12063bobo$12062bobo$12064bo3$12060b2o$12060b2o201$11862bo$11862bobo$
11861bobo$11863bo3$11859b2o$11859b2o2$13087b2o$13087bobo$13087bo150$
11662bo$11660b2o$11662b2o$11661bo3$11658b2o$11658b2o201$11461bo$11459b
2o$11461b2o$11460bo3$11457b2o$11457b2o46$13091b2o$13091bobo$13091bo
153$11260bo$11258b2o$11260b2o$11259bo3$11256b2o$11256b2o203$11059bo$
11057b2o$11059b2o$11058bo3$11055b2o$11055b2o41$13095b2o$13095bobo$
13095bo158$10858bo$10856b2o$10858b2o$10857bo3$10854b2o$10854b2o201$
10657bo$10655b2o$10657b2o$10656bo3$10653b2o$10653b2o38$13099b2o$13099b
obo$13099bo161$10456bo$10454b2o$10456b2o$10455bo3$10452b2o$10452b2o
149$10255bo$10253b2o$10255b2o$10254bo3$10251b2o$10251b2o13$13077bo$
13076b2o$13076bobo186$10054bo$10052b2o$10054b2o$10053bo3$10050b2o$
10050b2o201$9853bo$9851b2o$9853b2o$9852bo3$9849b2o$9849b2o9$13080bo$
13079b2o$13079bobo194$9652bo$9650b2o$9652b2o$9651bo3$9648b2o$9648b2o
201$9451bo$9449b2o$9451b2o$9450bo3$9447b2o$9447b2o$13083bo$13082b2o$
13082bobo198$9250bo$9248b2o$9250b2o$9249bo3$9246b2o$9246b2o201$9049bo$
9047b2o$9049b2o$9048bo3$9045b2o$9045b2o4040bo$13086b2o$13086bobo145$
8848bo$8846b2o$8848b2o$8847bo3$8844b2o$8844b2o201$8647bo$8645b2o$8647b
2o$8646bo3$8643b2o$8643b2o51$13091bo$13090b2o$13090bobo148$8446bo$
8444b2o$8446b2o$8445bo3$8442b2o$8442b2o201$8244bo$8244bobo$8243bobo$
8245bo3$8241b2o$8241b2o48$13095bo$13094b2o$13094bobo157$8044bo$8042b2o
$8044b2o$8043bo3$8040b2o$8040b2o201$7843bo$7841b2o$7843b2o$7842bo3$
7839b2o$7839b2o39$13099bo$13098b2o$13098bobo160$7642bo$7640b2o$7642b2o
$7641bo3$7638b2o$7638b2o162$13073bo$13072b2o$13072bobo8$7441bo$7439b2o
$7441b2o$7440bo3$7437b2o$7437b2o169$7240bo$7238b2o$7240b2o$7239bo3$
7236b2o$7236b2o201$7039bo$7037b2o$7039b2o$7038bo3$7035b2o$7035b2o11$
13076bo$13075b2o$13075bobo188$6838bo$6836b2o$6838b2o$6837bo3$6834b2o$
6834b2o212$6637bo$6635b2o$6637b2o$6636bo6442bo$13078b2o$13078bobo$
6633b2o$6633b2o201$6436bo$6434b2o$6436b2o$6435bo3$6432b2o$6432b2o201$
6235bo$6233b2o$6235b2o$6234bo2$13084bo$6231b2o6850b2o$6231b2o6850bobo
201$6033bo$6033bobo$6032bobo$6034bo3$6030b2o$6030b2o201$5833bo$5831b2o
$5833b2o7253bo$5832bo7254b2o$13087bobo2$5829b2o$5829b2o201$5631bo$
5631bobo$5630bobo$5632bo3$5628b2o$5628b2o200$13092bo$5431bo7659b2o$
5429b2o7660bobo$5431b2o$5430bo3$5427b2o$5427b2o201$5229bo$5229bobo$
5228bobo$5230bo3$5226b2o$5226b2o197$13096bo$13095b2o$13095bobo2$5029bo
$5027b2o$5029b2o$5028bo3$5025b2o$5025b2o201$4827bo$4827bobo$4826bobo$
4828bo3$4824b2o$4824b2o109$13069bo$13068b2o$13068bobo90$4627bo$4625b2o
$4627b2o$4626bo3$4623b2o$4623b2o201$4425bo$4425bobo$4424bobo$4426bo3$
4422b2o$4422b2o105$13072bo$13071b2o$13071bobo94$4225bo$4223b2o$4225b2o
$4224bo3$4221b2o$4221b2o201$4023bo$4023bobo$4022bobo$4024bo3$4020b2o$
4020b2o101$13075bo$13074b2o$13074bobo98$3823bo$3821b2o$3823b2o$3822bo
3$3819b2o$3819b2o201$3621bo$3621bobo$3620bobo$3622bo3$3618b2o$3618b2o
99$13078b3o$13078bo$13079bo100$3421bo$3419b2o$3421b2o$3420bo3$3417b2o$
3417b2o201$3219bo$3219bobo$3218bobo$3220bo3$3216b2o$3216b2o103$13085bo
$13084b2o$13084bobo96$3019bo$3017b2o$3019b2o$3018bo3$3015b2o$3015b2o
57$2817bo$2817bobo$2816bobo$2818bo3$2814b2o$2814b2o174$2617bo$2615b2o$
2617b2o$2616bo3$2613b2o$2613b2o63$13089bo$13088b2o$13088bobo136$2416bo
$2414b2o$2416b2o$2415bo3$2412b2o$2412b2o201$2215bo$2213b2o$2215b2o$
2214bo3$2211b2o$2211b2o60$13093bo$13092b2o$13092bobo148$2014bo$2012b2o
$2014b2o$2013bo3$2010b2o$2010b2o201$1813bo$1811b2o$1813b2o$1812bo3$
1809b2o$1809b2o2$13079b2o$13078b2o$13080bo197$1612bo$1610b2o$1612b2o$
1611bo3$1608b2o$1608b2o157$13066bo$13065b2o$13065bobo12$1410bo$1410bob
o$1409bobo$1411bo3$1407b2o$1407b2o174$1210bo$1208b2o$1210b2o$1209bo3$
1206b2o$1206b2o201$1009bo$1007b2o$1009b2o$1008bo3$1005b2o$1005b2o2$
13069bo$13068b2o$13068bobo197$808bo$806b2o$808b2o$807bo3$804b2o$804b2o
201$606bo$606bobo$605bobo$607bo2$13072bo$603b2o12466b2o$603b2o12466bob
o201$406bo$404b2o$406b2o$405bo3$402b2o$402b2o201$205bo$203b2o$205b2o$
204bo3$201b2o$201b2o11$13081bo$13080b2o$13080bobo188$4bo$2b2o$4b2o$3bo
3$2o$2o216$13085bo$13084b2o$13084bobo411$13089bo$13088b2o$13088bobo
411$13092b2o$13092bobo$13092bo411$13096b2o$13095b2o$13097bo411$13099b
3o$13099bo$13100bo410$13104bo$13103b2o$13103bobo411$13107b2o$13107bobo
$13107bo411$13111b2o$13110b2o$13112bo411$13114b3o$13114bo$13115bo410$
13119bo$13118b2o$13118bobo411$13122b2o$13122bobo$13122bo411$13126b2o$
13125b2o$13127bo411$13129b3o$13129bo$13130bo410$13134bo$13133b2o$
13133bobo411$13137b2o$13137bobo$13137bo411$13141b2o$13140b2o$13142bo
411$13144b3o$13144bo$13145bo410$13149bo$13148b2o$13148bobo189$13074b2o
$13074bobo$13074bo368$13063bo$13062b2o$13062bobo410$13066bo$13065b2o$
13065bobo410$13069bo$13068b2o$13068bobo424$13077bo$13076b2o$13076bobo
411$13081bo$13080b2o$13080bobo411$13085bo$13084b2o$13084bobo364$13071b
2o$13071bobo$13071bo368$13060bo$13059b2o$13059bobo410$13063bo$13062b2o
$13062bobo410$13066bo$13065b2o$13065bobo410$13068b2o$13068bobo$13068bo
411$13073bo$13072b2o$13072bobo411$13077bo$13076b2o$13076bobo411$13081b
o$13080b2o$13080bobo!
EDIT: here is an updated version of the script. When it finds a chained glider it advances the front by the minimum amount possible instead of always by 4 ticks. I think both approaches work but this way is more in the spirit of the intended algorithm. Also I made the placement of turners more compact by advancing by diagonally rather than by x-coordinate. The small step size of 23 is a new source of potential bugs but I think it should work properly.

Code: Select all

import golly as g


def max_chained(glider, fullsalvo):

    timing, lane = glider
    for t in [4, 3, 2, 1]:
        if (timing + t, lane - 7) in fullsalvo:
            return t

    return 0


def calculate_subsalvo(subsalvo, fullsalvo):
    
    for glider in sorted(subsalvo):

        if glider not in fullsalvo:
            # glider must have been done ahead of order
            continue

        chained = max_chained(glider, fullsalvo)

        if chained:
            
            new_subsalvo = []
            t0, l0 = glider

            for t1, l1 in fullsalvo:
                if l1 < l0 and t0 < t1 <= t0 + chained:
                    new_subsalvo.append((t1, l1))

            for x in calculate_subsalvo(new_subsalvo, fullsalvo):
                yield x

        fullsalvo.remove(glider)
        yield glider
            

def calculate_salvo(salvo):

    return [x for x in calculate_subsalvo(salvo, set(salvo))]


g_coords = g.transform(g.parse('bo$o$3o!'), 0, -2)
g_coords = zip(g_coords[::2], g_coords[1::2])


def get_salvo():
    
    r = g.getrect()
    if not r:
        return []

    cells = g.getcells(r)
    new_cells = g.evolve(cells, 100)

    if len(new_cells) != len(cells):
        return []

    a, b = min(new_cells[::2]), max(new_cells[::2])
    c, d = min(new_cells[1::2]), max(new_cells[1::2])

    if r != [a+25, c-25, b-a+1, d-c+1]:
        return []

    ret = []

    for i in range(4):
        cells_list = zip(cells[::2], cells[1::2])
        cells_set = set(cells_list)
        for x0, y0 in cells_list:
            if all((x0+x, y0+y) in cells_set for (x, y) in g_coords):
                ret.append((2 * (y0-x0) - i, x0+y0))
        cells = g.evolve(cells, 1)

    return ret


clock_turner = g.parse('3bo$3bobo$2bobo$4bo3$2o$2o!', 0, -4)
g_ne = g.parse('3o$o$bo!', -6, -1)


def glider_rewind(gens):

    phase = -gens % 4
    glider = g.evolve(g_ne, phase)
    return g.transform(glider, (gens + phase) / 4, (gens + phase) / 4)


def place_turner(glider, sw_lane, width):

    timing, lane = glider
    z = (lane + width - sw_lane) // 2

    g.putcells(g.evolve(clock_turner, timing % 2), z - width, lane - z)
    g.putcells(glider_rewind(2 * lane - timing), -width, lane - 2 * z)


r = g.getrect()
if r:
    step = 23
    sw_lane = r[1] + r[3] - r[0] + 4 * step
    width = r[2] + 20
    for glider in calculate_salvo(get_salvo()):
        place_turner(glider, sw_lane, width)
        sw_lane += step

User avatar
dvgrn
Moderator
Posts: 10565
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Splitters with common SL

Post by dvgrn » December 21st, 2014, 11:47 pm

chris_c wrote:Here it is in action eating Evil Glider Salvo #2 for breakfast with an annoying wing of "chained" gliders added to make things more difficult. It seems to be working well but some proper crash testing is definitely in order.
...
EDIT: here is an updated version of the script.
Rather than attempt to prove that all possible cases work -- too much thinking for tonight! -- I just wrote a script to randomly generate very tight glider spacings in a large square region.

Allow me to introduce Evil Glider Salvo #Borg ("Resistance is Futile. You Will Be Duplicated."):

Code: Select all

x = 3893, y = 7434, rule = B3/S23
3843bo$3793bo4bo7bobo2bobo5bo3bo4bo4bobo6bo4bobo5bo8bo3bobo10bo$3792bo
5bobo5b2o3b2o4b2o4bobo2bobo2b2o7b3o2b2o6bobo5bo4b2o3bo5b2o$3792b3o3b2o
7bo4bo5b2o3b2o3b2o4bo3bo9bo6b2o6b3o3bo3bobo4b2o7bo$3802bobo33bobo32b2o
14bobo$3802b2o9bo19bo4b2o11bo31bo5b2o$3803bo8bo13bobo3bo16b2o4bo11bobo
13bobo$3794bo17b3o5bo5b2o4b3o10bo4b2o2bo12b2o8bo5b2o$3793bo25bo7bo17bo
bo6b3o2bobo6bo4bo2bo11bo$3793b3o10bo12b3o23b2o12b2o10b2o3b3o9bobo$
3801bo4bobo28bobo20bo11b2o10bo3b2o$3800bo5b2o19bobo2bo4b2o18bo9bobo13b
o$3800b3o11bo12b2o3bobo3bo9bo6b2o10b2o14b3o$3792bobo17b2o5bobo6bo3b2o
9bo2b2o8b2o6bo3bo6bo$3792b2o10bobo6b2o4b2o20b2o4b2o13b2o10bo$3793bo6bo
3b2o14bo3bobo8bo6b2o7bo11b2o9b3o11bo$3799bo5bo3bobo12b2o9bobo13bobo2bo
27bo2bo$3799b3o7b2o14bo9b2o14b2o3bobo12bo10b2o3b3o$3790bobo17bo19bo10b
o14b2o8bobo2bobo4bo4b2o$3790b2o22bobo13bobo6b2o19bo5b2o3b2o5bobo$3791b
o22b2o5bo8b2o8b2o6bo11bobo4bo10b2o$3796bo7bobo8bo5bobo10bo13bobo5bo3b
2o13bo$3795bo8b2o15b2o11bobo11b2o4b2o17b2o$3790bobo2b3o7bo5bobo11bo8b
2o19b2o17b2o13bobo$3790b2o19b2o6bo5bobo10bo23bo26b2o$3791bo20bo4b2o6b
2o11bobo2bo18bobo18bo6bo$3796bo9bo11b2o10bobo5b2o3bobo3bobo10b2o6bo4bo
7bobo$3794b2o5bo4bobo6bo14b2o11b2o4b2o8bo9bo5bobo5b2o$3795b2o4bobo2b2o
5b2o8bo7bo4bo13bo7bo10b3o3b2o$3792bo8b2o11b2o5b2o11b2o22b3o4bo14bo$
3790b2o17bobo10b2o6bo4b2o4bobo20bo15bobo$3791b2o4bo11b2o6bo11bo11b2o7b
o13b3o8bo4b2o7bo$3797bobo2bobo5bo6bobo9b3o10bo7bobo22bobo10bo$3797b2o
3b2o13b2o17bo13b2o9bo9bo3b2o11b3o$3803bo4bo27bobo8bo9bo3bobo5b2o$3795b
o10b2o17bo10b2o3bo3b2o8b2o4b2o7b2o10bo$3794bo7bo4b2o6bobo6bo16bobo2b2o
8b2o18bo5bobo$3794b3o4bo13b2o7b3o7bo6b2o25bo5b2o6b2o5bo$3801b3o12bo16b
o15bo12bo3b2o7b2o11bo$3833b3o3bo4bo4bobo10bobo2b2o11bo7b3o$3808bo3bobo
7bo15bo5bobo2b2o5bo5b2o15bo$3799bo6b2o4b2o3bo4bobo5bo7b3o3b2o8b2o20bo
2b3o3bo$3798bo8b2o4bo3bobo2b2o5bo25b2o17b2o8bo6bo$3791bo6b3o16b2o10b3o
28bobo4bo7b2o7b3o2b2o$3791bobo17bo48b2o3b2o13bo9b2o$3791b2o16b2o29bo9b
o10bo4b2o11bo$3810b2o10bobo5bo5bo3bobo7bobo26b3o$3799bo5bobo6bo7b2o5bo
4b2o4b2o8b2o12bo4bobo18bo$3794bo2b2o6b2o7bobo6bo5b3o3b2o7bo17b2o5b2o
19bobo$3792b2o4b2o6bo7b2o28bobo10bo5b2o5bo8bo10b2o$3793b2o14bo9bo24b2o
4bo6bobo13bo4bo6bobo$3809bobo7bobo8bo18bo7b2o14bobo2b3o4b2o$3798bo10b
2o3bo4b2o7b2o9bobo7b3o12bo8b2o11bo$3790bobo4bo16bobo8bo3b2o8b2o21b2o4b
o14bo$3790b2o5b3o5bobo6b2o7b2o15bo4bo11bo5b2o3bobo6bo3b2o5bo$3791bo13b
2o3bo13b2o9bo9bobo9bobo8b2o6bo5b2o4bobo$3806bo3bobo20b2o10b2o5bo4b2o
17b3o9b2o$3800bo9b2o3bo18b2o16bobo8bo9bo$3792bo7bobo12bobo7bo26b2o8bo
8b2o$3792bobo5b2o4bobo6b2o3bo4bobo34b3o7b2o6bo6bo$3792b2o12b2o12bobo2b
2o14bo7bo8bo19b2o7bobo$3796bo10bo4bo7b2o7bo11bobo4bo7b2o21b2o6b2o$
3796bobo13bobo14bobo2bobo4b2o5b3o6b2o24bo$3796b2o5bobo6b2o15b2o3b2o29b
o6bo10bobo$3803b2o30bo8bo20bobo2b2o6bo4b2o$3794bo9bo5bo12bo14bo5bobo3b
o8bo5b2o4b2o4bo10bobo$3793bo14b2o7bo3b2o6bo8bobo3b2o2b2o9bobo15b3o8b2o
$3793b3o13b2o4b2o5b2o3b2o4bo4b2o9b2o4bo3b2o28bo$3801bo4bo9b2o10b2o3bob
o6bo11bo15bo10bo$3799b2o3b2o27b2o6bo12b3o8bobo2bobo7bo$3800b2o3b2o12bo
bo3bo15b3o16bobo2b2o3b2o8b3o5bobo$3813bobo3b2o3bo13bo11bo9b2o4bo21b2o$
3793bobo13bo3b2o5bo3b3o3bo5b2o11bo11bo27bo$3793b2o3bo4bo4bo5bo14bo7b2o
10b3o26bo$3794bo3bobo2bobo2b3o8bo9b3o12bobo12bo16b2o5bo$3798b2o3b2o13b
o25b2o11b2o9bo8b2o4bobo$3812bobo3b3o12bo11bo3bo8b2o8bobo12b2o4bobo$
3792bo13bo5b2o10bobo6bobo12bo4bobo12b2o19b2o$3790b2o7bobo4bobo4bo10b2o
7b2o13b3o2b2o9bo11bo13bo$3791b2o6b2o5b2o11bo5bo15bo12bo4bo4bobo8bo10bo
$3800bo16b2o9bobo9bo18bobo2b2o3bo5b3o7bo$3797bo6bo7bobo3b2o8b2o10b3o
12bo3b2o8bobo8bo4b3o$3791bo3b2o6bo8b2o15bo5bo18bo14b2o9bobo$3791bobo2b
2o5b3o7bo12bo8bobo9bo6b3o23b2o$3685bo105b2o26bo4b2o9b2o8b2o13bo27bo$
3685bobo112bo17bo6b2o12bo6b2o11bo13bo12b2o$3684bobo113bobo3bo6bo4b3o
18bobo17b3o2bobo4b2o5bo8b2o$3686bo103bobo2bobo2b2o2b2o6bo21bo4b2o23b2o
6b2o3bo4bobo$3790b2o3b2o8b2o5b3o19bobo6bobo8bo10bo11b3o2b2o$3791bo4bo
32bobo2b2o7b2o7b2o5bo9bo13bo5bo$3682b2o126bo5bo12b2o7bo5bo8b2o3bo9bo5b
o14bobo$3682b2o120bo4bo6bobo4bobo4bo7bobo17b3o7b3o3bobo4bo3bo3b2o$
3791bo12bobo2b3o4b2o5b2o8bobo2b2o4bo6bo11bo10b2o3b2o3bo$3790bo7bobo3b
2o18bo8b2o8bo5b2o12bobo14b2o2b3o$3790b3o5b2o34bo8b3o4b2o3bo7b2o24bo$
3799bo13bo4bo10bobo5bobo14bo21bo12bobo$3806bobo4bobo2bobo3bobo2b2o6b2o
15b3o19bobo10b2o$3676bo118bo10b2o5b2o3b2o4b2o4bo7bo20bobo3bo5bo4b2o7bo
$3676bobo111bobo2bobo9bo17bo33b2o3bo6bobo11bobo$3675bobo112b2o3b2o39bo
6bo5bobo8bo3b3o4b2o12b2o$3677bo113bo7bo5bo3bo5bo5bobo3bo6b2o5b2o6b2o3b
o25bo8bo$3658bo140bobob2o4bobob2o6b2o4bobo5b2o5b2o6bo3bobo21b2o9bobo$
3656b2o141b2o3b2o3b2o3b2o6bo4b2o25b2o23b2o8b2o$3658b2o13b2o$3657bo15b
2o3$3654b2o$3654b2o8$3649bo$3649bobo$3648bobo$3650bo3$3646b2o$3646b2o
8$3640bo$3640bobo$3639bobo$3641bo3$3637b2o$3637b2o6$3608bo$3608bobo$
3607bobo$3609bo23bo$3633bobo$3632bobo$3605b2o27bo$3605b2o2$3630b2o$
3630b2o6$3601bo$3601bobo$3600bobo$3602bo$3583bo$3581b2o$3583b2o13b2o$
3582bo15b2o3$3579b2o179b2o$3579b2o179bobo$3760bo19$3586bo172b2o$3584b
2o173bobo$3586b2o171bo$3585bo3$3545bo36b2o$3545bobo34b2o$3544bobo$
3546bo3$3542b2o$3542b2o2$3751b2o$3750b2o$3752bo$3581bo$3579b2o$3581b2o
$3539bo40bo$3537b2o$3539b2o$3538bo38b2o$3577b2o2$3535b2o$3535b2o8$
3531bo$3529b2o$3531b2o$3530bo2$3754b2o$3527b2o225bobo$3527b2o225bo9$
3522bo$3522bobo$3521bobo$3523bo3$3519b2o$3519b2o7$3754b3o$3515bo238bo$
3515bobo237bo$3514bobo$3516bo3$3512b2o$3512b2o11$3509bo$3509bobo$3508b
obo$3510bo3$3506b2o$3506b2o$3449bo22bo285b3o$3449bobo18b2o286bo$3448bo
bo21b2o285bo$3450bo20bo3$3446b2o20b2o$3446b2o20b2o274b2o$3744bobo$
3504bo239bo$3504bobo$3503bobo$3505bo3$3501b2o$3501b2o12$3453bo$3453bob
o$3452bobo$3454bo3$3450b2o295b3o$3450b2o295bo$3748bo4$3421bo$3419b2o$
3421b2o$3420bo25bo$3444b2o$3446b2o$3417b2o26bo$3417b2o$3740bo$3442b2o
295b2o$3442b2o295bobo23$3429bo$3429bobo$3428bobo$3430bo3$3391bo34b2o$
3389b2o35b2o$3391b2o$3390bo3$3387b2o$3387b2o$3754b2o$3753b2o$3755bo4$
3426bo$3426bobo$3425bobo$3427bo3$3423b2o$3423b2o3$3391bo$3391bobo$
3390bobo$3348bo23bo19bo$3348bobo19b2o$3347bobo22b2o$3349bo21bo16b2o$
3388b2o2$3345b2o21b2o$3345b2o21b2o$3734b3o$3734bo$3735bo25bo$3760b2o$
3760bobo16$3308bo$3306b2o$3308b2o$3307bo2$3739bo$3304b2o432b2o$3304b2o
432bobo8$3300bo$3298b2o$3300b2o$3299bo$3373bo$3371b2o$3296b2o75b2o$
3296b2o74bo$3353bo$3353bobo$3352bobo14b2o$3354bo14b2o3$3350b2o$3350b2o
3$3294bo448b2o$3292b2o448b2o$3294b2o448bo$3293bo3$3290b2o$3290b2o20$
3745b3o$3745bo$3746bo2$3301bo$3301bobo$3300bobo$3302bo3$3285bo12b2o$
3285bobo10b2o$3284bobo$3286bo3$3282b2o$3282b2o$3224bo$3224bobo$3223bob
o$3225bo3$3221b2o$3221b2o526b2o$3749bobo$3749bo10$3288bo$3288bobo$
3287bobo$3289bo3$3285b2o$3227bo57b2o$3227bobo$3226bobo$3228bo3$3224b2o
$3224b2o3$3282bo471b2o$3282bobo469bobo$3281bobo470bo$3283bo2$3219bo$
3219bobo57b2o$3218bobo58b2o$3220bo3$3216b2o$3216b2o14$3171bo$3171bobo$
3170bobo586b3o$3172bo586bo$3739bo20bo$3738b2o$3168b2o568bobo$3168b2o4$
3227bo$3227bobo$3226bobo$3228bo497b2o$3726bobo$3726bo$3224b2o$3213bo
10b2o$3211b2o$3213b2o$3212bo3$3209b2o$3209b2o4$3131bo44bo$3131bobo42bo
bo$3130bobo42bobo$3132bo44bo3$3128b2o43b2o$3128b2o43b2o13$3174bo$3129b
o42b2o$3127b2o45b2o$3129b2o42bo$3128bo$3742b2o$3170b2o570bobo$3125b2o
43b2o570bo$3125b2o8$3120bo$3120bobo$3119bobo$3121bo3$3117b2o$3117b2o8$
3745b2o$3744b2o$3746bo5$3731bo$3730b2o$3730bobo13$3111bo$3111bobo$
3110bobo$3112bo3$3108b2o$3108b2o2$3144bo$3142b2o$3144b2o$3143bo3$3140b
2o$3140b2o9$3069bo$3067b2o46bo$3025bo43b2o44bobo$3023b2o43bo45bobo$
3025b2o89bo$3024bo726b2o$3065b2o684bobo$3065b2o45b2o637bo$3021b2o89b2o
$3021b2o13$3112bo$3112bobo$3111bobo$3113bo3$3109b2o$3109b2o3$3077bo$
3075b2o657b2o$3077b2o654b2o$3076bo658bo2$3759b3o$3073b2o684bo$3073b2o
685bo$3038bo$3038bobo$3037bobo$3039bo3$3035b2o$3035b2o12$2989bo$2987b
2o48bo$2989b2o44b2o$2988bo48b2o$3036bo2$2985b2o$2985b2o46b2o$3033b2o$
3746b2o$3746bobo$3746bo12$3738bo$3737b2o$3036bo700bobo$3036bobo$3035bo
bo$3037bo$2972bo$2972bobo$2971bobo59b2o$2973bo59b2o3$2969b2o754b3o$
2969b2o754bo$3726bo14$3018bo$3016b2o$2928bo89b2o$2926b2o45bo43bo$2928b
2o43bobo$2906bo20bo44bobo$2906bobo65bo39b2o$2905bobo106b2o$2907bo16b2o
$2924b2o44b2o$2970b2o$2903b2o$2903b2o9$2899bo$2899bobo$2898bobo$2900bo
3$2896b2o$2896b2o12$2988bo$2988bobo$2987bobo771b2o$2989bo770b2o$3762bo
$3719bo$2985b2o731b2o$2985b2o731bobo10$3753b2o$3753bobo$3753bo3$2896bo
$2894b2o23bo$2896b2o21bobo$2895bo22bobo$2920bo2$2892b2o$2892b2o22b2o$
2916b2o$3721b2o$3720b2o$3722bo21$2812bo$2812bobo$2811bobo$2813bo3$
2809b2o$2809b2o916b2o$2890bo835b2o$2888b2o838bo$2890b2o$2889bo3$2886b
2o$2886b2o4$2923bo$2921b2o$2923b2o$2922bo$2882bo$2880b2o$2882b2o35b2o$
2881bo37b2o3$2878b2o$2878b2o8$2873bo$2873bobo$2807bo64bobo$2805b2o67bo
$2807b2o$2806bo$2870b2o$2870b2o$2803b2o$2803b2o2$3746b2o$3746bobo$
3746bo5$2775bo$2775bobo$2774bobo$2776bo3$2759bo12b2o$2757b2o13b2o$
2759b2o$2758bo95bo$2854bobo883b3o$2853bobo884bo$2755b2o54bo43bo885bo$
2755b2o52b2o$2811b2o$2810bo40b2o$2851b2o2$2807b2o$2807b2o7$2756bo$
2756bobo$2755bobo$2757bo3$2753b2o$2753b2o16$3755b3o$3755bo$3756bo$
3713b3o$3713bo$3714bo22$2737bo$2737bobo1021b2o$2736bobo1022bobo$2738bo
1022bo3$2734b2o53bo$2734b2o51b2o$2789b2o$2788bo3$2785b2o940b2o$2785b2o
940bobo$3727bo$2661bo$2659b2o$2661b2o44bo$2660bo46bobo$2706bobo$2708bo
$2657b2o121bo$2657b2o121bobo$2704b2o73bobo$2704b2o75bo3$2777b2o$2777b
2o8$2659bo$2657b2o$2659b2o$2658bo1072b2o$3731bobo$3731bo$2655b2o$2655b
2o3$2714bo$2712b2o$2714b2o$2713bo$2765bo$2763b2o$2710b2o53b2o$2710b2o
52bo3$2761b2o$2761b2o26$3750b3o$2683bo1066bo$2681b2o1068bo$2683b2o$
2682bo$2595bo$2595bobo$2594bobo82b2o$2596bo82b2o2$3716b2o$2592b2o1122b
obo$2592b2o1122bo4$2653bo$2651b2o1093b2o$2653b2o21bo1068b2o$2652bo23bo
bo1068bo$2675bobo$2677bo$2649b2o$2649b2o$2673b2o$2673b2o2$2594bo$2594b
obo$2593bobo$2595bo3$2591b2o$2591b2o8$2586bo$2586bobo$2585bobo$2587bo
70bo$2656b2o$2658b2o$2583b2o72bo$2583b2o2$2654b2o1077b2o$2654b2o1077bo
bo$3733bo4$2578bo$2578bobo$2577bobo$2579bo3$2575b2o$2575b2o8$3709b2o$
3709bobo$3709bo8$3741b2o$3740b2o$3742bo21$3718b2o$3717b2o$3719bo$2537b
o$2535b2o$2537b2o$2536bo2$2473bo$2471b2o60b2o$2473b2o58b2o$2472bo3$
2469b2o$2469b2o124bo23bo$2595bobo19b2o$2594bobo22b2o$2596bo21bo$2530bo
$2528b2o$2530b2o60b2o21b2o$2529bo62b2o21b2o3$2526b2o$2526b2o$3722b2o$
3722bobo$3722bo$2587bo$2587bobo$2586bobo$2588bo$2521bo$2521bobo$2520bo
bo61b2o$2522bo61b2o3$2518b2o$2518b2o3$2464bo$2462b2o$2464b2o$2463bo3$
2460b2o$2460b2o20$2513bo$2511b2o$2513b2o$2512bo3$2509b2o$2509b2o2$
2406bo$2406bobo$2405bobo$2407bo$3757bo$3756b2o$2403b2o1351bobo$2403b2o
1330b3o$3735bo$3736bo8$2379bo$2377b2o24bo$2379b2o20b2o$2378bo24b2o$
2402bo70bo$2473bobo$2375b2o95bobo$2375b2o22b2o73bo$2399b2o2$2470b2o$
2470b2o7$2510bo$2510bobo$2509bobo$2511bo3$2507b2o$2507b2o2$3750b3o$
3750bo$2477bo1273bo$2475b2o$2477b2o$2476bo3$2473b2o$2392bo80b2o$2390b
2o$2392b2o$2391bo3$2388b2o$2388b2o5$3726b2o$3725b2o$3727bo$2384bo$
2382b2o$2384b2o$2383bo3$2380b2o$2380b2o$3759b2o$3759bobo$3759bo8$2378b
o$2378bobo$2377bobo$2379bo1325bo$3704b2o$3704bobo$2375b2o$2375b2o16$
3746b2o$3745b2o$3747bo2$2358bo$2358bobo$2357bobo$2359bo3$2355b2o$2355b
2o10$2353bo$2353bobo$2352bobo$2354bo3$2350b2o$2350b2o2$3729b3o$3729bo$
3730bo$2411bo$2411bobo$2410bobo$2412bo3$2408b2o$2408b2o3$2305bo$2305bo
bo$2304bobo47bo$2306bo47bobo$2353bobo$2355bo$2302b2o$2302b2o$2351b2o$
2351b2o8$3738b2o$3737b2o$3739bo$2257bo$2257bobo$2256bobo$2258bo3$2254b
2o$2254b2o2$2358bo$2356b2o$2358b2o$2315bo41bo$2315bobo$2314bobo$2249bo
66bo37b2o$2249bobo102b2o$2248bobo$2250bo61b2o$2312b2o1399b2o$3712b2o$
2246b2o1466bo$2246b2o11$3749b3o$3749bo$3750bo3$2204bo$2202b2o$2204b2o$
2203bo3$2200b2o$2200b2o9$2334bo$2332b2o$2334b2o$2333bo3$2330b2o$2330b
2o6$2277bo$2277bobo$2276bobo$2278bo1440b2o$3719bobo$3719bo$2274b2o$
2274b2o5$2197bo$2197bobo$2196bobo1554b2o$2198bo1553b2o$2132bo138bo
1482bo$2132bobo136bobo$2131bobo60b2o74bobo$2133bo60b2o76bo3$2129b2o
137b2o$2129b2o137b2o8$2125bo$2123b2o70bo$2125b2o68bobo$2124bo69bobo$
2196bo2$2121b2o$2121b2o69b2o$2192b2o$3732b2o$3732bobo$3732bo5$2117bo$
2117bobo$2116bobo$2118bo3$2114b2o$2114b2o$2194bo$2194bobo$2193bobo$
2195bo$2268bo$2268bobo$2191b2o74bobo1439bo$2191b2o76bo1438b2o$3708bobo
2$2265b2o$2265b2o10$3699b2o$3699bobo$3699bo10$3758b2o$3758bobo$3758bo
14$3703b3o$3703bo$3704bo19$2058bo$2056b2o$2058b2o$2057bo117bo$2175bobo
$2174bobo$2054b2o120bo$2054b2o32bo46bo$2088bobo42b2o$2087bobo45b2o35b
2o$2089bo44bo37b2o3$2085b2o44b2o$2085b2o44b2o4$2167bo$2167bobo$2166bob
o$2168bo3$2164b2o$2164b2o2$2132bo$2130b2o$2132b2o$2131bo1601b2o$3733bo
bo$3733bo$2128b2o$2128b2o3$2072bo$2072bobo$2071bobo$2073bo1647bo$3720b
2o$3720bobo$2069b2o$2069b2o8$2064bo$2064bobo$2063bobo$2065bo3$2061b2o$
2061b2o6$1985bo$1983b2o$1985b2o$1984bo3$1981b2o$1981b2o77bo$2060bobo$
2059bobo$2061bo3$2057b2o$2057b2o6$1982bo$1980b2o$1982b2o$1981bo3$1978b
2o$1978b2o8$1975bo$1973b2o$1975b2o$1974bo70bo1691b2o21bo$2045bobo1688b
2o21b2o$2044bobo1691bo20bobo$1971b2o73bo$1971b2o2$2042b2o$2042b2o4$
2080bo$2078b2o$2080b2o$2079bo$1900bo$1900bobo$1899bobo174b2o$1901bo
174b2o3$1897b2o$1897b2o4$3694b2o45bo$3694bobo43b2o$3694bo45bobo25$
3744b2o$3744bobo$2009bo1734bo$2009bobo$2008bobo$1874bo135bo$1874bobo$
1873bobo$1875bo130b2o$2006b2o2$1871b2o$1871b2o8$1867bo$1865b2o$1867b2o
$1866bo3$1863b2o76bo$1863b2o76bobo$1940bobo$1942bo$2014bo$2014bobo$
1938b2o73bobo$1938b2o75bo3$2011b2o1698b2o$2011b2o1697b2o$3712bo7$2006b
o$2006bobo$2005bobo$2007bo2$3747b3o$2003b2o1742bo$2003b2o1743bo12$
1864bo$1864bobo$1863bobo$1865bo3$1861b2o99bo$1861b2o99bobo$1961bobo$
1963bo$1829bo$1827b2o1874b2o$1829b2o128b2o1742bobo21b2o$1828bo130b2o
1742bo22b2o$3728bo2$1825b2o$1825b2o7$1911bo$1909b2o$1911b2o$1910bo$
3698bo$3697b2o$1907b2o1788bobo$1907b2o14$1841bo$1839b2o$1841b2o$1840bo
3$1837b2o$1837b2o4$1897bo$1897bobo$1896bobo$1898bo1807b2o$3706bobo$
3706bo$1894b2o$1812bo81b2o$1812bobo$1811bobo$1813bo3$1809b2o$1809b2o
24$1819bo$1819bobo$1818bobo$1820bo3$1816b2o$1816b2o$1874bo$1872b2o$
1874b2o$1873bo3$1870b2o$1870b2o8$1729bo$1727b2o$1729b2o46bo$1685bo42bo
46b2o$1685bobo89b2o$1684bobo89bo$1686bo38b2o$1725b2o$1773b2o$1682b2o
89b2o$1682b2o2066b2o$3749b2o$3751bo13$1844bo$1844bobo1874b2o$1843bobo
1875bobo$1845bo1875bo$1780bo$1780bobo$1779bobo59b2o$1781bo59b2o3$1777b
2o$1777b2o$3754b2o$1697bo2056bobo$1697bobo2054bo$1696bobo137bo$1698bo
137bobo$1835bobo$1837bo$1694b2o$1657bo36b2o$1657bobo173b2o$1656bobo
174b2o$1658bo3$1654b2o$1654b2o14$3714b2o$3714bobo$3714bo2$1775bo$1773b
2o$1775b2o$1640bo133bo$1638b2o$1640b2o$1639bo131b2o$1771b2o2$1636b2o$
1636b2o6$3689b2o$3688b2o70bo$3690bo68b2o$3759bobo8$1732bo$1732bobo$
1731bobo$1733bo3$1729b2o$1729b2o2$3732bo$3731b2o$3731bobo10$3699bo$
3698b2o$3698bobo9$1673bo$1671b2o$1673b2o45bo$1672bo47bobo$1630bo88bobo
$1630bobo88bo$1629bobo37b2o$1631bo37b2o$1612bo104b2o$1612bobo102b2o$
1611bobo13b2o$1613bo13b2o3$1609b2o$1609b2o5$1671bo$1669b2o$1671b2o$
1670bo3$1667b2o$1667b2o$1562bo$1562bobo$1561bobo$1563bo3$1559b2o$1559b
2o4$1620bo$1620bobo$1619bobo$1621bo3$1617b2o$1617b2o3$1515bo2218b2o$
1513b2o2218b2o$1515b2o2218bo$1514bo3$1511b2o$1511b2o21$1521bo67bo2149b
2o$1519b2o68bobo2147bobo$1521b2o65bobo2148bo$1520bo69bo3$1517b2o67b2o$
1517b2o67b2o2$1643bo2082b2o$1643bobo2079b2o$1642bobo2082bo$1644bo3$
1640b2o$1640b2o2$1515bo$1513b2o$1515b2o2173b3o$1514bo2175bo$3691bo2$
1511b2o$1511b2o2$1592bo$1592bobo$1591bobo$1593bo3$1589b2o$1589b2o16$
3743b2o$3742b2o$3744bo$3701b2o$3701bobo$3701bo5$1511bo$1509b2o$1511b2o
$1510bo3$1507b2o$1507b2o13$3705b2o$3705bobo$3705bo$1556bo$1556bobo$
1555bobo$1557bo3$1553b2o$1553b2o11$1461bo$1459b2o69bo$1461b2o65b2o$
1460bo69b2o$1529bo2$1443bo13b2o2250b2o$1441b2o14b2o67b2o2181bobo$1443b
2o81b2o2181bo$1442bo49bo$1492bobo$1491bobo$1439b2o52bo$1439b2o2$1489b
2o$1489b2o8$1414bo$1414bobo$1371bo41bobo$1371bobo41bo117bo$1370bobo
158b2o$1372bo160b2o$1411b2o119bo$1411b2o$1368b2o$1368b2o159b2o$1529b2o
9$1365bo$1365bobo$1364bobo$1366bo2$1463bo$1362b2o97b2o$1362b2o99b2o$
1462bo3$1459b2o$1459b2o$1333bo$1331b2o$1333b2o$1332bo3$1329b2o$1329b2o
15$1446bo$1446bobo$1445bobo2313bo$1334bo112bo2312b2o$1332b2o2426bobo$
1334b2o$1333bo109b2o$1443b2o2$1330b2o$1330b2o4$3748b3o$3748bo$3749bo2$
1326bo$1324b2o$1326b2o$1325bo3$1322b2o2389bo$1322b2o2388b2o$3712bobo9$
1320bo$1318b2o$1320b2o$1319bo2$3751b3o$1316b2o2433bo$1316b2o2434bo5$
1423bo$1423bobo$1422bobo$1424bo2$3717b2o$1420b2o2294b2o$1420b2o2296bo
9$3683bo$3682b2o$3682bobo3$1331bo$1329b2o$1331b2o$1330bo3$1327b2o$
1327b2o3$3720b2o$3720bobo$3720bo3$1322bo$1322bobo$1321bobo$1323bo3$
1319b2o$1319b2o8$1314bo$1314bobo$1313bobo$1315bo3$1311b2o$1275bo35b2o$
1273b2o$1275b2o$1274bo3$1271b2o$1271b2o9$3696bo$3695b2o$1315bo2379bobo
$1315bobo$1314bobo$1316bo3$1312b2o$1312b2o5$1236bo$1236bobo$1235bobo
46bo$1237bo44b2o2450b2o$1284b2o2447b2o$1283bo2451bo$1233b2o$1233b2o$
1280b2o$1280b2o2$1178bo$1176b2o$1178b2o$1177bo3$1174b2o99bo$1163bo10b
2o99bobo$1161b2o111bobo$1163b2o111bo$1162bo2$1272b2o$1159b2o111b2o$
1159b2o22$1168bo$1166b2o$1146bo21b2o$1146bobo18bo$1145bobo116bo$1147bo
116bobo$1164b2o97bobo$1164b2o99bo$1143b2o$1143b2o$1261b2o$1261b2o8$
1256bo2471b2o$1256bobo2469bobo$1255bobo2425b3o42bo$1257bo2425bo70b2o$
3684bo69bobo$3754bo$1253b2o$1149bo103b2o$1147b2o$1149b2o$1148bo3$1145b
2o$1145b2o8$1140bo$1140bobo$1139bobo$1141bo3$1137b2o$1137b2o$3691bo$
3690b2o$3690bobo4$3742b2o$3741b2o$3743bo2$3678bo$3677b2o$3677bobo3$
1139bo$1139bobo$1138bobo$1140bo3$1136b2o$1136b2o8$1131bo$1131bobo$
1130bobo$1132bo3$1128b2o$1128b2o13$1059bo$1059bobo$1058bobo$1060bo3$
1056b2o$1056b2o2644bo$1113bo2587b2o$1113bobo2585bobo$1112bobo$1114bo3$
1110b2o$1110b2o8$1107bo$1105b2o$1107b2o$1106bo$1156bo$1156bobo$1103b2o
50bobo$1103b2o52bo3$1153b2o$1153b2o$3706b2o$3705b2o$3707bo11$994bo$
992b2o$994b2o$993bo3$990b2o$990b2o5$1027bo$1027bobo$1026bobo$1028bo71b
o$1098b2o2612b2o$1100b2o2610bobo$1024b2o73bo2612bo$1024b2o$1083bo$
1081b2o13b2o$1083b2o11b2o$1082bo3$1079b2o$1079b2o18$1085bo$1083b2o$
1085b2o$1084bo$1019bo$1017b2o$1019b2o60b2o$1018bo62b2o$999bo$999bobo$
998bobo14b2o$1000bo14b2o3$996b2o$996b2o3$940bo$940bobo$939bobo$941bo
2773b2o$3715bobo$3715bo$937b2o$937b2o14$3756b3o$941bo66bo2747bo$939b2o
67bobo2746bo$941b2o64bobo$940bo68bo3$937b2o66b2o$937b2o66b2o2$3721b2o$
3721bobo$3721bo4$932bo$932bobo$931bobo$933bo3$929b2o$929b2o4$1011bo$
1011bobo$1010bobo$1012bo3$1008b2o$927bo80b2o$927bobo$926bobo$928bo3$
924b2o$888bo35b2o$888bobo$887bobo$889bo2$3733b3o$885b2o2846bo$885b2o
2847bo18$3707b2o$3707bobo$3707bo13$951bo$949b2o$951b2o$907bo42bo2797b
2o$907bobo2837b2o$906bobo2840bo$908bo38b2o$947b2o2$904b2o$904b2o8$878b
o20bo$854bo21b2o21bobo$854bobo21b2o18bobo$853bobo21bo22bo$855bo2$874b
2o20b2o$851b2o21b2o20b2o$851b2o2$3728b2o$3728bobo$3728bo8$3692b2o$
3692bobo$3692bo5$858bo$858bobo$857bobo$859bo3$855b2o$855b2o13$3696b2o$
3696bobo$3696bo$857bo$857bobo$856bobo$858bo3$854b2o$854b2o7$3758b2o$
849bo2907b2o$849bobo2907bo$783bo64bobo$781b2o67bo$783b2o$782bo$846b2o$
846b2o$779b2o$779b2o6$842bo$840b2o$842b2o$841bo2$778bo$778bobo57b2o$
777bobo58b2o$779bo3$775b2o$775b2o2$742bo$740b2o$742b2o$741bo3$738b2o$
738b2o2$841bo$841bobo2840b2o$840bobo2840b2o$842bo2842bo3$838b2o$838b2o
$3736b2o$3736bobo$3736bo15$798bo$798bobo$797bobo$799bo3$795b2o$689bo
105b2o$689bobo45bo$688bobo44b2o$690bo46b2o3002b2o$736bo3004bobo$3741bo
$686b2o$686b2o45b2o$733b2o8$729bo$727b2o$729b2o$728bo3$725b2o55bo$725b
2o53b2o$782b2o$781bo2$694bo$692b2o84b2o$694b2o82b2o$693bo3$690b2o3008b
3o$690b2o3008bo$3701bo21$701bo$699b2o$701b2o$700bo3$697b2o$697b2o$
3709b3o$3709bo$3710bo2$3760b2o$3760bobo$3669b2o89bo$693bo2975bobo$691b
2o2976bo$693b2o$692bo3$628bo60b2o$628bobo58b2o$627bobo$629bo3$625b2o$
613bo11b2o$611b2o$613b2o$612bo2$687bo$609b2o76bobo$609b2o75bobo$688bo
3$684b2o$684b2o$3674bo$3673b2o$3673bobo44b3o$3720bo$3721bo3$679bo$679b
obo$678bobo$680bo3$676b2o$676b2o10$627bo$627bobo$607bo18bobo$605b2o21b
o3048b2o$607b2o3068bobo$586bo19bo3070bo$586bobo35b2o$585bobo36b2o$587b
o15b2o$603b2o2$583b2o$583b2o18$589bo$587b2o$589b2o$588bo3$585b2o$585b
2o7$557bo$555b2o$557b2o$556bo3$553b2o$553b2o3$589bo$587b2o$589b2o$588b
o3$585b2o$585b2o21$571bo$569b2o$571b2o$570bo3$567b2o$567b2o7$3746b3o$
563bo3182bo$561b2o3184bo$563b2o$562bo2$476bo$474b2o83b2o$476b2o81b2o$
475bo3$472b2o$472b2o3$555bo$553b2o$555b2o$554bo2$515bo$513b2o36b2o$
515b2o34b2o$514bo2$3728b2o$511b2o3214b2o22b2o$511b2o3216bo21bobo$3751b
o3$480bo67bo$478b2o66b2o$480b2o66b2o$479bo67bo3$476b2o66b2o$476b2o66b
2o9$471bo$471bobo3230b3o$470bobo3231bo$472bo3232bo2$3686bo$468b2o3215b
2o$468b2o3215bobo2$3737bo$3736b2o$3736bobo4$464bo$462b2o$464b2o$463bo$
421bo$421bobo$420bobo37b2o$422bo37b2o3$418b2o$418b2o8$413bo$413bobo$
412bobo$414bo3$410b2o$410b2o8$476bo$474b2o$476b2o$475bo$3711b2o$3711bo
bo$472b2o3237bo$472b2o23$436bo$413bo20b2o3279b2o$413bobo20b2o3277bobo$
412bobo20bo3279bo$414bo2$374bo57b2o$372b2o36b2o20b2o$374b2o34b2o$373bo
3$370b2o$370b2o5$408bo$406b2o$408b2o$407bo3$404b2o$404b2o5$375bo$373b
2o$375b2o$354bo19bo3348b2o$354bobo3366bobo$353bobo3367bo$355bo15b2o$
371b2o2$351b2o$351b2o8$346bo$346bobo$345bobo$347bo3$343b2o$343b2o4$
311bo3369bo$311bobo3366b2o$310bobo3367bobo$312bo3$308b2o$308b2o12$354b
o$352b2o$354b2o$353bo3$350b2o$350b2o$3730b2o22bo$3730bobo20b2o$3730bo
22bobo3$3689b2o$3688b2o$3690bo9$308bo$308bobo$307bobo$309bo23bo$333bob
o$332bobo$305b2o27bo$305b2o2$271bo58b2o$271bobo56b2o$270bobo$272bo3$
268b2o30bo3392b2o$268b2o30bobo3389b2o$299bobo3392bo$301bo3$297b2o$297b
2o17$255bo$255bobo$234bo19bobo$232b2o22bo23bo$234b2o44bobo$233bo45bobo
$252b2o27bo$252b2o$230b2o$230b2o45b2o$277b2o9$229bo$227b2o$229b2o$228b
o3$225b2o$225b2o13$3663b3o$3663bo$3664bo4$3739b2o$3739bobo$3739bo6$
239bo$216bo20b2o$216bobo20b2o$215bobo20bo$217bo2$235b2o$213b2o20b2o$
201bo11b2o$199b2o$201b2o$200bo3$197b2o$197b2o13$174bo22bo$174bobo20bob
o$173bobo20bobo$175bo22bo$3755b3o$3755bo$171b2o21b2o3560bo$160bo10b2o
21b2o$158b2o$160b2o$159bo3$156b2o$144bo11b2o$142b2o$144b2o$143bo3$140b
2o$140b2o10$3760b2o$3760bobo$3716b2o42bo$3716bobo$3671b3o42bo$3671bo$
3672bo12$155bo$153b2o$133bo21b2o$133bobo18bo$132bobo$134bo$151b2o$151b
2o$130b2o$130b2o3$3676bo$3675b2o$99bo3575bobo$99bobo$98bobo$100bo25bo$
124b2o$126b2o$96b2o27bo$96b2o2$122b2o$122b2o16$3748b3o$82bo3665bo$80b
2o3667bo$82b2o22bo$81bo24bobo$105bobo$107bo$78b2o$78b2o$103b2o$103b2o
7$75bo$73b2o$75b2o$74bo2$56bo$54b2o15b2o$56b2o13b2o$55bo3$52b2o$52b2o
10$3695b3o$3695bo$3696bo6$58bo$35bo20b2o$35bobo20b2o$34bobo20bo$36bo$
3732bo$54b2o3675b2o$32b2o20b2o3675bobo$32b2o9$28bo$28bobo$27bobo$29bo
3$25b2o$25b2o3656bo$3682b2o$3682bobo6$20bo$20bobo$19bobo$21bo3$4bo12b
2o$2b2o13b2o$4b2o$3bo3$2o$2o14$3740b2o$3740bobo$3740bo10$3706b2o$3705b
2o$3707bo39$3700b3o$3700bo$3701bo26$3751b2o$3750b2o$3752bo13$3719b3o$
3719bo$3720bo56$3711bo$3710b2o44b2o$3710bobo43bobo$3756bo18$3685b2o$
3684b2o$3686bo5$3760b2o$3760bobo$3760bo9$3725b3o$3725bo$3726bo6$3664b
3o$3664bo$3665bo44$3688b2o$3688bobo$3688bo8$3743b2o$3742b2o$3744bo18$
3670b3o$3670bo$3671bo39$3735b2o$3735bobo$3735bo7$3676bo$3675b2o$3675bo
bo45$3745b2o$3745bobo$3745bo19$3720b2o$3719b2o$3721bo25$3700b3o$3700bo
$3701bo2$3729b2o$3728b2o$3730bo8$3693b2o$3693bobo$3693bo40$3712b2o$
3712bobo$3712bo10$3677b2o$3677bobo$3677bo45$3747b2o$3747bobo$3747bo6$
3664bo$3663b2o$3663bobo3$3715b2o$3715bobo$3715bo32$3681bo$3680b2o$
3680bobo3$3730b2o$3730bobo$3730bo23$3687bo$3686b2o$3686bobo63$3705b2o$
3704b2o$3706bo10$3739b3o$3739bo$3740bo39$3736bo$3735b2o$3735bobo29$
3720b3o$3720bo$3700b2o19bo$3699b2o$3701bo3$3750b2o$3749b2o$3751bo10$
3694bo$3693b2o$3693bobo39$3688b2o$3688bobo$3688bo10$3725bo$3724b2o$
3724bobo10$3666b3o$3666bo$3667bo26$3672b2o$3672bobo$3672bo11$3730b3o$
3730bo$3731bo20$3662bo$3661b2o$3661bobo34$3674bo$3673b2o$3673bobo21$
3742b2o$3742bobo$3742bo3$3678b2o$3677b2o$3679bo26$3684bo$3683b2o$3683b
obo42$3706bo$3705b2o$3705bobo25$3709b2o$3709bobo$3709bo25$3712b3o$
3712bo$3713bo27$3695b2o$3694b2o$3696bo6$3725b3o$3725bo$3726bo33$3716bo
$3715b2o$3715bobo18$3690b2o$3690bobo$3690bo6$3719b3o$3719bo$3720bo36$
3666b2o$3665b2o$3667bo15$3662bo66b3o$3661b2o66bo$3661bobo66bo25$3734b
2o$3734bobo$3734bo12$3678b2o$3677b2o$3679bo11$3668b2o$3668bobo$3668bo
33$3681b2o$3680b2o$3682bo25$3685b2o$3685bobo$3685bo33$3696b2o$3696bobo
$3696bo25$3700b2o$3700bobo$3700bo48$3704b2o$3704bobo$3704bo6$3735b3o$
3735bo$3736bo5$3672b3o$3672bo$3673bo9$3708b2o$3707b2o$3709bo61$3724b2o
$3723b2o$3725bo13$3717b2o$3716b2o$3718bo12$3662b2o$3661b2o22b2o$3663bo
21bobo$3685bo19$3731bo$3730b2o$3730bobo37$3699b2o$3698b2o$3700bo13$
3691b2o$3691bobo$3691bo42$3665b3o43b3o$3665bo45bo$3666bo45bo30$3677bo$
3676b2o$3676bobo3$3725b3o$3725bo$3726bo20$3680b2o$3680bobo$3680bo27$
3686b2o$3686bobo$3686bo28$3669b3o$3669bo$3670bo27$3721b2o$3720b2o$
3722bo24$3700b3o$3700bo$3701bo24$3704b2o$3704bobo$3704bo9$3693b2o$
3692b2o$3694bo10$3681b2o$3681bobo$3681bo35$3695b3o$3695bo$3696bo32$
3706b2o$3706bobo$3706bo25$3710b2o$3710bobo$3710bo25$3715bo$3714b2o$
3714bobo6$3677bo$3676b2o$3676bobo24$3725b2o$3725bobo$3725bo$3683b2o$
3683bobo$3683bo30$3669b2o$3668b2o$3670bo21$3714b3o$3714bo$3715bo40$
3687b2o$3686b2o$3688bo7$3721bo$3720b2o$3720bobo10$3662b2o$3662bobo$
3662bo3$3691bo$3690b2o$3690bobo31$3678bo$3677b2o$3677bobo38$3696bo$
3695b2o$3695bobo25$3700bo$3699b2o$3699bobo27$3705b2o$3705bobo$3705bo9$
3668b3o$3668bo$3669bo14$3709b2o$3709bobo$3664b2o43bo$3663b2o$3665bo46$
3689b3o$3689bo$3690bo11$3680b2o$3679b2o$3681bo12$3671b2o$3671bobo$
3671bo34$3685bo$3684b2o$3684bobo34$3675bo20b2o$3674b2o19b2o$3674bobo
20bo48$3701bo$3700b2o$3700bobo25$3705bo$3704b2o$3704bobo25$3709bo$
3708b2o$3708bobo20$3662bo$3661b2o$3661bobo2$3689b2o$3688b2o$3690bo22b
2o$3712b2o$3714bo29$3676b2o$3675b2o$3677bo26$3679b3o$3679bo$3680bo24$
3684bo$3683b2o$3683bobo24$3663b2o$3663bobo$3663bo17$3706b2o$3705b2o$
3707bo6$3667b2o$3667bobo$3667bo54$3701bo$3700b2o$3700bobo11$3689b3o$
3689bo$3690bo24$3671b2o$3670b2o23bo$3672bo21b2o$3694bobo32$3684bo$
3683b2o$3683bobo12$3674b2o$3674bobo$3674bo24$3677b2o$3677bobo$3677bo
32$3664b3o$3664bo$3665bo5$3696bo$3695b2o$3695bobo48$3698b2o$3698bobo$
3698bo6$3683b3o$3683bo$3684bo24$3687b2o$3687bobo$3687bo3$3669b2o$3669b
obo$3669bo42$3689b2o$3689bobo$3689bo6$3674b3o$3674bo$3675bo11$3665bo$
3664b2o$3664bobo26$3671bo$3670b2o$3670bobo44$3693bo$3692b2o$3692bobo
10$3680b3o$3680bo$3681bo16$3676b2o$3675b2o$3677bo29$3684b2o$3684bobo$
3684bo8$3671b2o$3671bobo$3671bo16$3667b2o$3666b2o$3668bo16$3662b2o$
3661b2o$3663bo45$3685b2o$3684b2o$3686bo11$3675b2o$3675bobo$3675bo23$
3678bo$3677b2o$3677bobo6$3662b2o$3662bobo$3662bo38$3680b2o$3680bobo$
3680bo7$3667bo$3666b2o$3666bobo24$3670bo$3669b2o$3669bobo14$3662bo$
3661b2o$3661bobo35$3675b2o$3674b2o$3676bo8$3661b3o$3661bo$3662bo25$
3666b2o$3666bobo$3666bo25$3670b2o$3670bobo$3670bo12$3662bo$3661b2o$
3661bobo!

chris_c
Posts: 966
Joined: June 28th, 2014, 7:15 am

Re: Splitters with common SL

Post by chris_c » December 22nd, 2014, 8:24 am

dvgrn wrote:"Resistance is Futile. You Will Be Duplicated."
Cool! So no problems found so far. Forgive my hopelessly amateur Herschel plumbing but here is a stable 2H->G front glider inserter using the clock method. It could be the basis of an automatic gun making script.

Code: Select all

x = 2223, y = 1894, rule = B3/S23
2198bo$2198bobo$2198b2o3bo$2202bo$2202b3o$2207bo$2207bobo$2207b2o3bo$
2211bo$2211b3o$2216bo$2216bobo$2216b2o3bo$2220bo$2220b3o616$320b2o$
321bo$321bobo$322b2o6$321b2o$321b2o4b2o$327b2o4$326b2o$322b2o2b2o$321b
obo$321bo12b2o$320b2o11bobo$333bo$332b2o14$325b2o$324bobo15b2o$324bo
17b2o$323b2o$349bob2o$349b2obo3$331b2o$332bo$332bobo$333b2o3$347b2o$
347bobo$349bo$349b2o6$334b2o$335bo8b2o$335b3o6bo$345b3o$347bo6$326b2o$
325bobo$325bo$324b2o5$336b2o$336b2o2$343bob2o$343b2obo4$326b2o$326bobo
$328bo$328b2o4$347b2o$347bo$345bobo$328b2o15b2o43b2o3b2o$328b2o60b2o2b
ob3o$394bo4bo$390b4ob2o2bo$345b2o43bo2bobobob2o$220b2o123bobo45bobobob
o$220bobo124bo46b2obobo$222bo4b2o118b2o49bo$218b4ob2o2bo2bo$218bo2bobo
bobob2o153b2o$221bobobobo157bo7b2o$222b2obobo134b2o21bobo5b2o$226bo
112b2o21bo23b2o$329b2o8bo20bobo18bo$212b2o116bo6b3o20b2o10bo7bobo$213b
o7b2o104b3o42b3o6bo$213bobo5b2o104bo47bo$214b2o158b2o2$396b2o22bo$396b
o21b3o$349bo47b3o17bo$349b3o47bo17b2o$351bo15b2o25b2o$224b2o125bo15b2o
25bo$224bo167bobo30b2ob2o$225b3o164b2o32bob2o$227bo198bo$330b2o21b2o
63b2o4b3o$330b2o21bobo23b2o37b2o3bo3b2o$336b2o17bo14b2o6bobo42b4o2bo$
336b2o17b2o14bo6bo30b2o15bob2o$368b3o6b2o29bobo12b3o2bo$368bo39bo13bo
5bo$334b2o71b2o14b5o$334b2o5b2o82bo$341b2o2$381b2o$380bobo$380bo$379b
2o9$391b2o$391b2o4$248b2o156b2o$248bobo155bobo$250bo4b2o123b2o26bo$
246b4ob2o2bo2bo122bo19b2o5b2o$246bo2bobobobob2o122bobo17bo$249bobobobo
126b2o15bobo$250b2obobo138bo4b2o$254bo138bobo$393bobo$240b2o140b2o10bo
$241bo7b2o130bobo$241bobo5b2o130bo$242b2o136b2o$395b2o$395bo$396b3o$
398bo2$479b2o$252b2o226bo$252bo227bobo$253b3o225b2o$255bo5$480b2o$480b
2o4b2o$486b2o4$485b2o$481b2o2b2o$480bobo$480bo12b2o$479b2o11bobo$492bo
$491b2o10$275b2o$275bobo$277bo4b2o$273b4ob2o2bo2bo$273bo2bobobobob2o
198b2o$276bobobobo200bobo15b2o$277b2obobo200bo17b2o$281bo200b2o$333bo
174bob2o$267b2o62b3o174b2obo$268bo7b2o52bo$268bobo5b2o52b2o$269b2o219b
2o$491bo$491bobo$492b2o3$320b2o184b2o$279b2o38bobo5b2o177bobo$279bo39b
o7b2o179bo$280b3o35b2o188b2o$282bo$332bo$328b2obobo$327bobobobo$324bo
2bobobobob2o$324b4ob2o2bo2bo156b2o$328bo4b2o159bo8b2o$326bobo165b3o6bo
$326b2o176b3o$506bo2$285b2o$285bobo$287bo4b2o$283b4ob2o2bo2bo$283bo2bo
bobobob2o189b2o$286bobobobo191bobo$287b2obobo191bo$291bo191b2o2$277b2o
$278bo7b2o$278bobo5b2o$279b2o214b2o$495b2o2$502bob2o$502b2obo3$289b2o$
289bo195b2o$290b3o192bobo$292bo194bo$487b2o4$506b2o$506bo$504bobo$487b
2o15b2o43b2o3b2o$487b2o60b2o2bob3o$553bo4bo$549b4ob2o2bo$504b2o43bo2bo
bobob2o$504bobo45bobobobo$506bo46b2obobo$506b2o49bo2$543b2o$544bo7b2o$
521b2o21bobo5b2o$498b2o21bo23b2o$488b2o8bo20bobo18bo$489bo6b3o20b2o10b
o7bobo$486b3o42b3o6bo$486bo47bo$533b2o2$239b2o314b2o22bo$240bo314bo21b
3o$238bo269bo47b3o17bo$238b5o14b2o249b3o47bo17b2o$243bo13bo252bo15b2o
25b2o$240b3o12bobo252bo15b2o25bo$190b2o47bo15b2o294bobo30b2ob2o$191bo
47b4o308b2o32bob2o$189bo47b2o3bo3b2o337bo$189b5o14b2o26bo2b3o4b2o241b
2o21b2o63b2o4b3o$194bo13bo27b2obo249b2o21bobo23b2o37b2o3bo3b2o$191b3o
12bobo30bo255b2o17bo14b2o6bobo42b4o2bo$190bo15b2o31b2o254b2o17b2o14bo
6bo30b2o15bob2o$190b4o333b3o6b2o29bobo12b3o2bo$188b2o3bo3b2o328bo39bo
13bo5bo$187bo2b3o4b2o48b2o244b2o71b2o14b5o$187b2obo57bo244b2o5b2o82bo$
190bo54b3o252b2o$190b2o53bo$540b2o$539bobo$198b2o339bo$199bo338b2o$97b
2o97b3o$98bo97bo$96bo$96b5o14b2o$101bo13bo$98b3o12bobo$97bo15b2o$97b4o
$95b2o3bo3b2o444b2o$94bo2b3o4b2o444b2o$94b2obo$97bo$97b2o$565b2o$565bo
bo$105b2o432b2o26bo$3b2o101bo433bo19b2o5b2o$4bo98b3o434bobo17bo$2bo
100bo437b2o15bobo$2b5o14b2o530bo4b2o$7bo13bo530bobo$4b3o12bobo530bobo$
3bo15b2o520b2o10bo$3b4o533bobo$b2o3bo3b2o528bo$o2b3o4b2o527b2o$2obo
550b2o$3bo550bo$3b2o550b3o83b2o$557bo84bo$642bobo$11b2o630b2o$12bo$9b
3o$9bo3$642b2o$642b2o4b2o$648b2o4$647b2o$643b2o2b2o$642bobo$642bo12b2o
$641b2o11bobo$654bo$653b2o14$646b2o$645bobo15b2o$290bo18bo335bo17b2o$
190b2o7b2o89b3o7b2o7b3o332b2o$190b2o7bobo15bo9bo65bo6bo11bo357bob2o$
197bobob3o13b3o5b3o29bo34b2o4bobo10b2o11b2o11bo332b2obo$197b2o5bo15bo
3bo13b2o17b3o38b2o24b2o9b3o$203b2o14b2o3b2o13bo20bo74bo$85b2o7b2o142bo
20b2o11b2o11bo49bo316b2o$85b2o7bobo15bo9bo115b2o32b2o9b3o60bo306bo$92b
obob3o13b3o5b3o29bo130bo61bobo305bobo$92b2o5bo15bo3bo13b2o17b3o128bo
61bobo306b2o$98b2o14b2o3b2o13bo20bo56bo97bo35bo$133bo20b2o11b2o41b3o
97bo$133b2o32b2o41bo99b3o172bo182b2o$210bo30b2o15bo53bo170b3o182bobo$
241b2o15bo223bo187bo$107bo150b3o221b2o186b2o$75bo29b3o152bo$73b3o29bo$
73bobo29bo30b2o15bo$73bo62b2o15bo171b2o$153b3o54b2o74b2o37bobo$155bo
53bobo11b2o6bo55bo39bo327b2o$209bo13b2o6b3o39b2o9b3o3bob2o33b2o143b2o
182bo8b2o$208b2o24bo38bobo8bo2b4ob2o177bobo5b2o175b3o6bo$233b2o12b2o
26bo11bo183bo7b2o185b3o$105b2o81b2o56bobo26b2o12b2ob2o2b2o6b2o164b2o
196bo$104bobo11b2o6bo62bo56bo43bobo4bo6bobo$104bo13b2o6b3o39b2o16b3o
56b2o43bo2b4o9bo177bo$103b2o24bo38bobo15bo104bobo2bobo7b2o172b2obobo$
128b2o12b2o26bo121bo4b2o180bobobobo$83b2o56bobo26b2o304bo2bobobobob2o$
84bo56bo334b4ob2o2bo2bo158b2o$81b3o56b2o338bo4b2o159bobo$81bo396bobo
165bo$478b2o165b2o5$657b2o$657b2o2$664bob2o$664b2obo4$647b2o$647bobo$
649bo$649b2o4$668b2o$668bo$666bobo$649b2o15b2o43b2o3b2o$649b2o60b2o2bo
b3o$715bo4bo$711b4ob2o2bo$666b2o43bo2bobobob2o$666bobo45bobobobo$668bo
46b2obobo$668b2o49bo2$705b2o$706bo7b2o$683b2o21bobo5b2o$660b2o21bo23b
2o$650b2o8bo20bobo18bo$651bo6b3o20b2o10bo7bobo$648b3o42b3o6bo$648bo47b
o$695b2o2$717b2o22bo$717bo21b3o$670bo47b3o17bo$670b3o47bo17b2o$672bo
15b2o25b2o$672bo15b2o25bo$713bobo30b2ob2o$713b2o32bob2o$747bo$651b2o
21b2o63b2o4b3o$651b2o21bobo23b2o37b2o3bo3b2o$657b2o17bo14b2o6bobo42b4o
2bo$657b2o17b2o14bo6bo30b2o15bob2o$689b3o6b2o29bobo12b3o2bo$689bo39bo
13bo5bo$655b2o71b2o14b5o$655b2o5b2o82bo$662b2o2$702b2o$701bobo$701bo$
700b2o9$712b2o$712b2o2$787b2o$788bo$727b2o59bobo$727bobo59b2o$701b2o
26bo$702bo19b2o5b2o$702bobo17bo$703b2o15bobo$715bo4b2o$714bobo71b2o$
714bobo71b2o4b2o$703b2o10bo78b2o$702bobo$702bo$701b2o$716b2o75b2o$716b
o72b2o2b2o$717b3o68bobo$719bo68bo12b2o$787b2o11bobo$800bo$799b2o14$
792b2o$791bobo15b2o$791bo17b2o$790b2o$816bob2o$816b2obo3$798b2o$799bo$
799bobo$800b2o3$814b2o$814bobo$816bo378b2o$816b2o376bobo$1188b2o4bo$
1186bo2bo2b2ob4o$1186b2obobobobo2bo$1189bobobobo$1189bobob2o$801b2o
387bo$802bo8b2o$802b3o6bo391b2o$812b3o379b2o7bo$814bo379b2o5bobo$1201b
2o5$793b2o$792bobo$792bo398b2o$791b2o399bo$1189b3o$1189bo3$637bo165b2o
$635b3o165b2o$634bo$634b2o174bob2o$810b2obo4$793b2o$793bobo$624b2o169b
o$623bobo5b2o162b2o$623bo7b2o$622b2o2$636bo177b2o$632b2obobo176bo$631b
obobobo174bobo$628bo2bobobobob2o154b2o15b2o43b2o3b2o$628b4ob2o2bo2bo
154b2o60b2o2bob3o$632bo4b2o222bo4bo$630bobo224b4ob2o2bo$630b2o180b2o
43bo2bobobob2o$812bobo45bobobobo$814bo46b2obobo$814b2o49bo2$851b2o$
852bo7b2o$829b2o21bobo5b2o$806b2o21bo23b2o$796b2o8bo20bobo18bo$797bo6b
3o20b2o10bo7bobo$794b3o42b3o6bo$794bo47bo$841b2o2$863b2o22bo$863bo21b
3o$816bo47b3o17bo$816b3o47bo17b2o$818bo15b2o25b2o$818bo15b2o25bo$859bo
bo30b2ob2o$859b2o32bob2o$893bo$797b2o21b2o63b2o4b3o$797b2o21bobo23b2o
37b2o3bo3b2o$803b2o17bo14b2o6bobo42b4o2bo$803b2o17b2o14bo6bo30b2o15bob
2o$835b3o6b2o29bobo12b3o2bo$835bo39bo13bo5bo$801b2o71b2o14b5o$801b2o5b
2o82bo$808b2o2$848b2o$847bobo$847bo$846b2o9$858b2o$858b2o4$873b2o214bo
$873bobo213b3o$847b2o26bo216bo$848bo19b2o5b2o214b2o$848bobo17bo237b2o$
849b2o15bobo237bo$861bo4b2o236bobo$860bobo230bo10b2o$860bobo229bobo$
849b2o10bo230bobo$848bobo236b2o4bo$848bo237bobo15b2o$847b2o237bo17bobo
$862b2o214b2o5b2o19bo$862bo216bo26b2o$863b3o213bobo$865bo214b2o4$1095b
2o$1095b2o9$1107b2o$1107bo$1105bobo$1105b2o2$1145b2o$1062bo82b2o5b2o$
1060b5o14b2o71b2o$1059bo5bo13bo39bo$1059bo2b3o12bobo29b2o6b3o$1058b2ob
o15b2o30bo6bo14b2o17b2o$1058bo2b4o42bobo6b2o14bo17b2o$1059b2o3bo3b2o
37b2o23bobo21b2o$1061b3o4b2o63b2o21b2o$1061bo$1058b2obo32b2o$1058b2ob
2o30bobo$1093bo25b2o15bo$1092b2o25b2o15bo$1069b2o17bo47b3o$1070bo17b3o
47bo$1067b3o21bo$1067bo22b2o2$1112b2o$1112bo47bo$1106bo6b3o42b3o$1105b
obo7bo10b2o20b3o6bo$1106bo18bobo20bo8b2o$1100b2o23bo21b2o$1093b2o5bobo
21b2o204b2o$1093b2o7bo226bobo$1102b2o219b2o4bo$1321bo2bo2b2ob4o$1089bo
49b2o180b2obobobobo2bo$1088bobob2o46bo183bobobobo$1088bobobobo45bobo
181bobob2o$1087b2obobobo2bo43b2o182bo$1088bo2b2ob4o$1088bo4bo244b2o$
1089b3obo2b2o60b2o169b2o7bo$1091b2o3b2o43b2o15b2o169b2o5bobo$1140bobo
193b2o$1140bo$1139b2o4$1158b2o$1159bo166b2o$1159bobo165bo$1160b2o162b
3o$1324bo3$772bo368bob2o$770b3o368b2obo$769bo$769b2o379b2o$1150b2o5$
1162b2o$759b2o401bo$758bobo5b2o392bobo$758bo7b2o392b2o$757b2o2$771bo$
767b2obobo$766bobobobo$763bo2bobobobob2o364bo$763b4ob2o2bo2bo364b3o$
767bo4b2o369bo6b3o$765bobo374b2o8bo$765b2o385b2o6$1137b2o$1138bo$1138b
obo$1139b2o3$1153b2o$1153bobo$1155bo$1155b2o3$1135bob2o$1135b2obo$
1163b2o$1144b2o17bo$1144b2o15bobo$1161b2o10$1242bo$1242b3o$1245bo$
1244b2o$1154b2o103b2o$1154bo104bo$1152bobo11b2o89bobo$1152b2o12bo79bo
10b2o$1164bobo78bobo$1160b2o2b2o79bobo$1160b2o78b2o4bo$1239bobo15b2o$
1239bo17bobo$1231b2o5b2o19bo$1159b2o71bo26b2o$1159b2o4b2o65bobo$1165b
2o66b2o4$1248b2o$1248b2o$1164b2o$1164bobo$1166bo$1166b2o5$1260b2o$
1260bo$1258bobo$1258b2o2$1298b2o$1215bo82b2o5b2o$1213b5o14b2o71b2o$
1212bo5bo13bo39bo$1212bo2b3o12bobo29b2o6b3o$1211b2obo15b2o30bo6bo14b2o
17b2o$1211bo2b4o42bobo6b2o14bo17b2o$1212b2o3bo3b2o37b2o23bobo21b2o$
1214b3o4b2o63b2o21b2o$1214bo$1211b2obo32b2o$1211b2ob2o30bobo$1246bo25b
2o15bo$1245b2o25b2o15bo$1222b2o17bo47b3o$1223bo17b3o47bo$1220b3o21bo$
1220bo22b2o2$1265b2o$1265bo47bo$1259bo6b3o42b3o$1258bobo7bo10b2o20b3o
6bo$1259bo18bobo20bo8b2o$1253b2o23bo21b2o$1246b2o5bobo21b2o$1246b2o7bo
$1255b2o2$1242bo49b2o$1241bobob2o46bo$1241bobobobo45bobo$1240b2obobobo
2bo43b2o$1241bo2b2ob4o$1241bo4bo$1242b3obo2b2o60b2o$1244b2o3b2o43b2o
15b2o$1293bobo$1293bo$1292b2o4$1311b2o$1312bo$1312bobo$1313b2o4$1294bo
b2o$1294b2obo2$1303b2o$1303b2o5$1315b2o165b2o$1315bo165bobo396bo$1313b
obo159b2o4bo338b2o56b3o$1313b2o158bo2bo2b2ob4o334bo56bo$1473b2obobobob
o2bo304b2o26bobo56b2o$1476bobobobo180b2o4bo121bo26b2o12b2o$1476bobob2o
172b2o7bobo2bobo104bo15bobo38bo24b2o$1477bo177bo9b4o2bo43b2o56b3o16b2o
39b3o6b2o13bo$1655bobo6bo4bobo43bo56bo62bo6b2o11bobo$1293bo196b2o164b
2o6b2o2b2ob2o12b2o26bobo56b2o81b2o$1293b3o185b2o7bo183bo11bo26b2o12b2o
$1296bo6b3o175b2o5bobo177b2ob4o2bo8bobo38bo24b2o$1295b2o8bo182b2o143b
2o33b2obo3b3o9b2o39b3o6b2o13bo$1305b2o327bo39bo55bo6b2o11bobo53bo$
1634bobo37b2o74b2o54b3o$1635b2o171bo15b2o62bo$1808bo15b2o30bo29bobo$
1856bo29b3o$1701bo152b3o29bo$1290b2o186b2o221b3o150bo$1291bo187bo223bo
15b2o$1291bobo182b3o170bo53bo15b2o30bo$1292b2o182bo172b3o99bo41b2o32b
2o$1651bo97b3o41b2o11b2o20bo$1615bo35bo97bo56bo20bo13b2o3b2o14b2o$
1306b2o306bobo61bo128b3o17b2o13bo3bo15bo5b2o$1306bobo305bobo61bo130bo
29b3o5b3o13b3obobo$1308bo306bo60b3o9b2o32b2o115bo9bo15bobo7b2o$1308b2o
316bo49bo11b2o11b2o20bo142b2o7b2o$1626bo74bo20bo13b2o3b2o14b2o$1624b3o
9b2o24b2o38b3o17b2o13bo3bo15bo5b2o$1288bob2o332bo11b2o11b2o10bobo4b2o
34bo29b3o5b3o13b3obobo$1288b2obo357bo11bo6bo65bo9bo15bobo7b2o$1316b2o
332b3o7b2o7b3o89b2o7b2o$1297b2o17bo335bo18bo$1297b2o15bobo$1314b2o14$
1307b2o$1307bo$1305bobo11b2o$1305b2o12bo$1317bobo$1313b2o2b2o$1313b2o
4$1312b2o$1312b2o4b2o$1318b2o3$1952bo$1950b3o$1949bo$1317b2o630b2o$
1317bobo$1319bo84bo$1319b2o83b3o550b2o$1407bo550bo$1406b2o550bob2o$
1421b2o527b2o4b3o2bo$1421bo528b2o3bo3b2o$1419bobo533b4o$1408bo10b2o
520b2o15bo$1407bobo530bobo12b3o$1407bobo530bo13bo$1402b2o4bo530b2o14b
5o$1401bobo15b2o437bo100bo$1401bo17bobo434b3o98bo$1393b2o5b2o19bo433bo
101b2o$1394bo26b2o432b2o$1394bobo$1395b2o$1863b2o$1864bo$1864bob2o$
1410b2o444b2o4b3o2bo$1410b2o444b2o3bo3b2o$1861b4o$1847b2o15bo$1846bobo
12b3o$1846bo13bo$1845b2o14b5o$1865bo$1765bo97bo$1763b3o97b2o$1422b2o
288bo49bo$1422bo287b3o49b2o$1420bobo286bo$1420b2o287b2o$1770b2o$1460b
2o309bo$1377bo82b2o5b2o248b2o52bob2o$1375b5o14b2o71b2o249bo44b2o4b3o2b
o$1374bo5bo13bo39bo283bob2o41b2o3bo3b2o$1374bo2b3o12bobo29b2o6b3o275b
2o4b3o2bo46b4o$1373b2obo15b2o30bo6bo14b2o17b2o243b2o3bo3b2o33b2o15bo$
1373bo2b4o42bobo6b2o14bo17b2o248b4o34bobo12b3o$1374b2o3bo3b2o37b2o23bo
bo21b2o228b2o15bo34bo13bo$1376b3o4b2o63b2o21b2o227bobo12b3o34b2o14b5o$
1376bo323bo13bo57bo$1373b2obo32b2o288b2o14b5o50bo$1373b2ob2o30bobo308b
o50b2o$1408bo25b2o15bo265bo$1407b2o25b2o15bo265b2o$1384b2o17bo47b3o$
1385bo17b3o47bo$1382b3o21bo$1382bo22b2o2$1427b2o$1427bo47bo$1421bo6b3o
42b3o$1420bobo7bo10b2o20b3o6bo$1421bo18bobo20bo8b2o$1415b2o23bo21b2o$
1408b2o5bobo21b2o$1408b2o7bo$1417b2o2$1404bo49b2o$1403bobob2o46bo$
1403bobobobo45bobo$1402b2obobobo2bo43b2o$1403bo2b2ob4o$1403bo4bo$1404b
3obo2b2o60b2o$1406b2o3b2o43b2o15b2o$1455bobo$1455bo$1454b2o$1665bo$
1665b3o$1668bo$1473b2o192b2o$1474bo$1474bobo$1475b2o4$1456bob2o217b2o$
1456b2obo210b2o5bobo$1670b2o7bo$1465b2o212b2o$1465b2o$1666bo$1665bobob
2o$1665bobobobo$1662b2obobobobo2bo$1477b2o183bo2bo2b2ob4o$1477bo186b2o
4bo$1475bobo192bobo$1475b2o194b2o6$1455bo$1455b3o176b2o$1458bo6b3o165b
obo$1457b2o8bo159b2o4bo$1467b2o156bo2bo2b2ob4o$1625b2obobobobo2bo$
1628bobobobo$1628bobob2o$1629bo$1679bo$1452b2o188b2o35b3o$1453bo179b2o
7bo39bo$1453bobo177b2o5bobo38b2o$1454b2o184b2o3$1468b2o$1468bobo$1470b
o$1470b2o219b2o$1630b2o52b2o5bobo$1631bo52b2o7bo$1450bob2o174b3o62b2o$
1450b2obo174bo$1478b2o200bo$1459b2o17bo200bobob2o$1459b2o15bobo200bobo
bobo$1476b2o198b2obobobobo2bo$1676bo2bo2b2ob4o$1678b2o4bo$1684bobo$
1685b2o10$1469b2o$1469bo$1467bobo11b2o$1467b2o12bo$1479bobo$1475b2o2b
2o$1475b2o4$1474b2o$1474b2o4b2o$1480b2o5$1706bo$1479b2o225b3o$1479bobo
227bo$1481bo226b2o$1481b2o2$1563bo$1563b3o$1566bo$1565b2o$1580b2o136b
2o$1580bo130b2o5bobo$1578bobo130b2o7bo$1567bo10b2o140b2o$1566bobo$
1566bobo138bo$1561b2o4bo138bobob2o$1560bobo15b2o126bobobobo$1560bo17bo
bo122b2obobobobo2bo$1552b2o5b2o19bo122bo2bo2b2ob4o$1553bo26b2o123b2o4b
o$1553bobo155bobo$1554b2o156b2o4$1569b2o$1569b2o9$1581b2o$1581bo$1579b
obo$1579b2o2$1619b2o$1536bo82b2o5b2o$1534b5o14b2o71b2o$1533bo5bo13bo
39bo$1533bo2b3o12bobo29b2o6b3o$1532b2obo15b2o30bo6bo14b2o17b2o$1532bo
2b4o42bobo6b2o14bo17b2o$1533b2o3bo3b2o37b2o23bobo21b2o$1535b3o4b2o63b
2o21b2o$1535bo198bo$1532b2obo32b2o164b3o$1532b2ob2o30bobo167bo$1567bo
25b2o15bo125b2o$1566b2o25b2o15bo$1543b2o17bo47b3o$1544bo17b3o47bo$
1541b3o21bo$1541bo22b2o2$1586b2o158b2o$1586bo47bo104b2o5bobo$1580bo6b
3o42b3o104b2o7bo$1579bobo7bo10b2o20b3o6bo116b2o$1580bo18bobo20bo8b2o$
1574b2o23bo21b2o112bo$1567b2o5bobo21b2o134bobob2o$1567b2o7bo157bobobob
o$1576b2o153b2obobobobo2bo$1731bo2bo2b2ob4o$1563bo49b2o118b2o4bo$1562b
obob2o46bo124bobo$1562bobobobo45bobo123b2o$1561b2obobobo2bo43b2o$1562b
o2b2ob4o$1562bo4bo$1563b3obo2b2o60b2o$1565b2o3b2o43b2o15b2o$1614bobo$
1614bo$1613b2o4$1632b2o$1633bo$1633bobo$1634b2o4$1615bob2o$1615b2obo2$
1624b2o$1624b2o5$1636b2o$1636bo$1634bobo$1634b2o6$1614bo$1614b3o$1617b
o6b3o$1616b2o8bo$1626b2o6$1611b2o$1612bo$1612bobo$1613b2o3$1627b2o$
1627bobo$1629bo$1629b2o3$1609bob2o$1609b2obo$1637b2o$1618b2o17bo$1618b
2o15bobo$1635b2o14$1628b2o$1628bo$1626bobo11b2o$1626b2o12bo$1638bobo$
1634b2o2b2o$1634b2o4$1633b2o$1633b2o4b2o$1639b2o6$1638b2o$1638bobo$
1640bo$1640b2o!

User avatar
dvgrn
Moderator
Posts: 10565
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Splitters with common SL

Post by dvgrn » December 22nd, 2014, 11:18 am

chris_c wrote:
dvgrn wrote:"Resistance is Futile. You Will Be Duplicated."
Cool! So no problems found so far.
Yes, I built a 500x500 random packed glider fleet overnight. Your revised script successfully built #SuperBorg in a few seconds this morning with no trouble.

Completing an official proof now should just be a matter of finding the easiest way to enumerate a limited number of cases, and demonstrate that the clock insertion works in each case -- farthest forward neighboring gliders on both sides at L=1..N, maybe. Other cases can be taken care of by "gliders that aren't [Here] by [Now] can't possibly affect the insertion area before the reaction is complete, because c/4. Q.E.D."
chris_c wrote:Forgive my hopelessly amateur Herschel plumbing but here is a stable 2H->G front glider inserter using the clock method. It could be the basis of an automatic gun making script.
Oh, that's a perfectly adequate Herschel construction for this purpose. Good use of Snarks. Can always cut it down to size later.

Seems as if an automatic gun maker could use cheaper methods for almost all cases. The old three-glider inserter works down to T=15:

Code: Select all

x = 29, y = 28, rule = B3/S23
20bo$18b2o$19b2o16$7b3o9bo7bo$9bo11bo4b2o$8bo11b2o4bobo$3o17bobo$2bo$b
o22b2o$24bobo$20bo3bo$19b2o$19bobo!
And I'm kind of betting there's a four- or five-glider 180-degree collision that can replace the clock for most if not all T=14 insertions. Seems as if that problem might be within reach of an exhaustive LifeAPI search.

Anyway, an utterly unreasonable but rather nice trick for an automated gun-making script might be to add one more leading glider on each side of the salvo to be built. These gliders can be used to trigger a string of stable pseudo-Heisenburp devices, which produce the initial Herschels that create the sideways gliders for the insertion reactions. Then it becomes trivial to string together as many inserter guns as are needed to produce an arbitrary salvo.

The resulting shotgun will be -- um -- a bit oversized, but that doesn't seem to be something we need to worry about here.

More reasonably, we can build a conventional G-to-H-to-G with the output glider on the same lane, and add adjustable delay circuits so that each insertion occurs just when the salvo arrives. The lead gliders have to start very far ahead in that case, and each successive inserter will have a shorter delay than the last. But the repeat time won't suffer, and it's just a matter of having the script move a couple of Snarks by N cells and substitute one of eight components with [N..N+7] timing somewhere in the circuit. Could borrow most of this from simsim314's O(log N) gun builder.

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Splitters with common SL

Post by simsim314 » December 22nd, 2014, 2:50 pm

dvgrn wrote: Seems as if that problem might be within reach of an exhaustive LifeAPI search.
I won't miss the opportunity to have another demo/show of for LifeAPI.

Here is the result of half hour scripting/coding with LifeAPI:

Code: Select all

x = 210, y = 34, rule = B3/S23
13bobo70bo53bo$13b2o69b2o52b2o$14bo70b2o52b2o5bobo$146b2o$147bo$15bo
184bo3bobo$15bobo180b2o4b2o$15b2o61bobo118b2o4bo$78b2o$79bo3$8b2o68b2o
58b2o58b2o$8b2o68b2o58b2o58b2o4$3o69b3o18b2o33b3o62b3o$2bo71bo17b2o36b
o64bo11b2o$bo71bo20bo34bo64bo12bobo$207bo3$159bo$158b2o$158bobo6$28b2o
$28bobo$28bo!
The search run for about 1 min on pretty slow machine.

Here is the total spaghetti that generated the result:

Code: Select all


#include "LifeAPI.h"

int main()
{
	New();
	
	LifeState* blck =  NewState("2o$2o!");
	LifeState* gldL =  NewState("3o$2bo$bo!");
	LifeState* gldR =  NewState("bo$o$3o!");
	
	LifeIterator *iterL = NewIterator(gldL, -10, 5, 10, 1);
	
	LifeIterator *iterR1 = NewIterator(gldR, 0, -15, 10, 10, 4);
	LifeIterator *iterR2 = NewIterator(gldR, 0, -15, 10, 10, 4);
	
	do{
		
		if(Validate(iterR1, iterR2) == FAIL)
			continue;
			
		New();
		PutState(blck);
		PutState(iterL);
		PutState(iterR1);
		PutState(iterR2);
	
		int collide = NO;
		
		for(int i = 0; i < 4; i++)
		{
			if(GetPop() != 5 * 3 + 4)
			{
				collide = YES;
				break;
			}
			
			Run(1);
		}
		
		if(collide == YES)
			continue; 
			
		for(int i = 0; i < 300; i++)
		{
			Run(1);
			
			uint64_t gld = LocateAtX(GlobalState, _glidersTarget[0], 2);
			int found = NO;
			
			if(strlen(GlobalState->emittedGliders->value) != 0)
				break;
				
			int gen = GlobalState->gen;
			
			if(gld != 0 && GetPop() == 5)
			{
				found = YES;
				
				for(int j = 0; j < 4; j++)
				{
					if(GlobalState->gen%4 == 0)
						break;
						
					Run(1);
				}
				
				Capture(0);
				Move(Captures[0], (GlobalState->gen) / 4 + 4, (GlobalState->gen) / 4 + 4);
				Evolve(Captures[0], 2);
				
				New();
				PutState(blck);
				PutState(iterL);
				PutState(iterR1);
				PutState(iterR2);
				PutState(Captures[0]);
				
				Run(gen);
				
				uint64_t gld = LocateAtX(GlobalState, _glidersTarget[0], 2);
			
				if(gld != 0 && GetPop() == 10)
				{
					Print();
					New();
					PutState(blck);
					PutState(iterL);
					PutState(iterR1);
					PutState(iterR2);
					PutState(Captures[0]);
					PrintRLE();
					Print();
					getchar();
				}
			}
		
			if(found == YES)
				break;

		}
		
	}while(Next(iterL, iterR1, iterR2));
}

Those ~100 lines of code, include the iteration on states of 3 gliders, skip duplicates, check for reflected glider in the correct orientation, check that glider 14 ticks behind is not colliding, and it's all in half hour of coding and 1 min run. I think golly python script would be of similar size if not bigger (as LifeAPI iterators, replace the need for million loops).

EDIT Tried with different SL:

Code: Select all

x = 226, y = 28, rule = B3/S23
159bo$14bo99bo43bo49bo$14bobo95b2o44b3o47bobo$14b2o97b2o93b2o$60bo$60b
obo44bobo50bo$60b2o5bo39b2o50bo49bo$13bobo49b2o41bo50b3o47bobo$13b2o
51b2o141b2o$14bo3$7b2o48b2o48b2o48b2o48b2o$7bo49bo49bo49bo49bo$8b3o47b
3o47b3o47b3o47b3o$10bo49bo49bo49bo49bo2$3o44b3o49b3o50b3o48b3o$2bo46bo
51bo52bo50bo$bo46bo51bo52bo50bo3$19b2o$18b2o50b2o103bo48b2o$20bo49bobo
101b2o47b2o$70bo50bo52bobo48bo$120b2o$120bobo!
The code need some minor modification:

Code: Select all

#include "LifeAPI.h"

int main()
{
	New();
	
	LifeState* blck =  NewState("2o$o$b3o$3bo!");
	LifeState* gldL =  NewState("3o$2bo$bo!");
	LifeState* gldR =  NewState("bo$o$3o!");
	
	LifeIterator *iterL = NewIterator(gldL, -10, 5, 10, 1);
	
	LifeIterator *iterR1 = NewIterator(gldR, 0, -15, 10, 10, 4);
	LifeIterator *iterR2 = NewIterator(gldR, 0, -15, 10, 10, 4);
	
	int initPop = GetPop(blck);
	
	do{
		
		if(Validate(iterR1, iterR2) == FAIL)
			continue;
			
		New();
		PutState(blck);
		PutState(iterL);
		PutState(iterR1);
		PutState(iterR2);
	
		int collide = NO;
		
		for(int i = 0; i < 4; i++)
		{
			if(GetPop() != 5 * 3 + initPop)
			{
				collide = YES;
				break;
			}
			
			Run(1);
		}
		
		if(collide == YES)
			continue; 
			
		for(int i = 0; i < 300; i++)
		{
			Run(1);
			
			uint64_t gld = LocateAtX(GlobalState, _glidersTarget[0], 2);
			int found = NO;
			
			if(strlen(GlobalState->emittedGliders->value) != 0)
				break;
				
			int gen = GlobalState->gen;
			
			if(gld != 0 && GetPop() == 5)
			{
				found = YES;
				
				for(int j = 0; j < 4; j++)
				{
					if(GlobalState->gen%4 == 0)
						break;
						
					Run(1);
				}
				
				Capture(0);
				Move(Captures[0], (GlobalState->gen) / 4 + 4, (GlobalState->gen) / 4 + 4);
				Evolve(Captures[0], 2);
				
				New();
				PutState(blck);
				PutState(iterL);
				PutState(iterR1);
				PutState(iterR2);
				PutState(Captures[0]);
				
				Run(gen);
				
				uint64_t gld = LocateAtX(GlobalState, _glidersTarget[0], 2);
			
				if(gld != 0 && GetPop() == 10)
				{
					Print();
					New();
					PutState(blck);
					PutState(iterL);
					PutState(iterR1);
					PutState(iterR2);
					PutState(Captures[0]);
					PrintRLE();
					Print();
					getchar();
				}
			}
		
			if(found == YES)
				break;

		}
		
	}while(Next(iterL, iterR1, iterR2));
}
NOTE The code works only with the latest LifeAPI.h found here

EDIT2 It would be nice to go over "evil salvo list" to "rate" the placer. As for now I just place single glider 14 ticks behind, and report success, if everything worked. If we want more fine tuned results, we need better rating/filtering definitions.

EDIT3 After some more tweaking:

Blinker:

Code: Select all

x = 260, y = 40, rule = B3/S23
5$246bo$126bo118bo$79bo46bobo116b3o$18bo60bobo44b2o$17bo61b2o$17b3o$
76bo102bo37bobo$76bobo100bobo35b2o$17bo58b2o93bo7b2o37bo$15b2o152b2o$
16b2o108bo43b2o44bo30bo$124b2o88b2o29b2o$125b2o88b2o29b2o3$10b3o57b3o
47b3o47b3o37b3o27b3o4$bo81b2o30bo$b2o59b3o18bobo29b2o48b3o40b3o27b3o$o
bo61bo18bo30bobo50bo42bo29bo$63bo102bo42bo29bo2$218b3o$20b2o114b2o80bo
$20bobo112b2o45b2o35bo$20bo116bo44bobo$182bo2$255bo$254b2o$254bobo!
And Loaf:

Code: Select all

x = 39, y = 2359, rule = B3/S23
14bo$13bo7bo$13b3o5bobo$21b2o9$10b2o$9bo2bo$9bobo$10bo6$3o20b3o$2bo20b
o$bo22bo122$20bo$19bo$13bo5b3o$11b2o$12b2o6$10bo$9bobo$9bo2bo$10b2o3$
3o$2bo$bo6$23b3o$23bo$24bo125$13bobo$13b2o6bo$14bo6bobo$21b2o4$10bo$9b
obo$9bo2bo$10b2o3$3o$2bo$bo5$20b3o$20bo$21bo118$17bo$15b2o$16b2o3$13bo
$11b2o$12b2o4$13b2o$12bo2bo$13bobo$14bo6$b3o$3bo$2bo6$26b2o$26bobo$26b
o124$18bobo$12bo5b2o$12bobo4bo$12b2o5$10bo$9bobo$9bo2bo$10b2o3$b3o$3bo
$2bo$22b2o$22bobo$22bo121$14bobo$14b2o$15bo2$18bo$16b2o$17b2o2$10b2o$
9bo2bo$9bobo$10bo6$b3o$3bo$2bo12b2o$15bobo$15bo119$20bo$19bo$13bobo3b
3o$13b2o$14bo6$13b2o$12bo2bo$13bobo$14bo6$2b3o$4bo$3bo7$23b3o$23bo$24b
o118$16bobo$16b2o$17bo5$14bo$14bobo$14b2o5$10bo$9bobo$9bo2bo$10b2o3$2b
3o$4bo$3bo9$25b2o$25bobo$25bo121$15bo$13b2o$14b2o3$16bobo$16b2o$17bo$
10b2o$9bo2bo$9bobo$10bo6$3b3o$5bo$4bo$15b2o$15bobo$15bo118$21bobo$21b
2o$22bo7$13bo$13bobo$13b2o3$10bo$9bobo$9bo2bo$10b2o3$3b3o$5bo$4bo25$
37b2o$36b2o$38bo91$12bobo$12b2o$13bo4$20bo$19bo$19b3o3$10b2o$9bo2bo$9b
obo$10bo6$4b3o$6bo$5bo9$25b2o$25bobo$25bo117$13bo$12bo$12b3o2$17bobo$
17b2o$18bo6$10b2o$9bo2bo$9bobo$10bo6$5b3o$7bo$6bo23$36bo$35b2o$35bobo
118$13bo$11b2o7bo$12b2o6bobo$20b2o6$10b2o$9bo2bo$9bobo$10bo6$6b3o$8bo$
7bo6$22b2o$22bobo$22bo119$20bo$19bo$19b3o3$22bo$21bo$21b3o3$13b2o$12bo
2bo$13bobo$14bo5$26b2o$6b3o17bobo$8bo17bo$7bo124$21bo$17bo2bo$15b2o3b
3o$16b2o5$14bo$13bobo$12bo2bo$13b2o3$7b3o10b2o$9bo10bobo$8bo11bo121$
14bobo$14b2o$15bo$21bo$19b2o$20b2o3$13b2o$12bo2bo$13bobo$14bo6$9b3o$
11bo$10bo18b2o$28b2o$30bo122$14bo7bo$13bo7bo$13b3o5b3o5$13b2o$12bo2bo$
13bobo$14bo5$26bo$9b3o13b2o$11bo13bobo$10bo!
Last edited by simsim314 on December 22nd, 2014, 4:40 pm, edited 1 time in total.

chris_c
Posts: 966
Joined: June 28th, 2014, 7:15 am

Re: Splitters with common SL

Post by chris_c » December 22nd, 2014, 4:20 pm

dvgrn wrote: Completing an official proof now should just be a matter of finding the easiest way to enumerate a limited number of cases, and demonstrate that the clock insertion works in each case -- farthest forward neighboring gliders on both sides at L=1..N, maybe. Other cases can be taken care of by "gliders that aren't [Here] by [Now] can't possibly affect the insertion area before the reaction is complete, because c/4. Q.E.D."
I had another think about completing a formal proof. By picking off gliders on a non-diagonal front I think the selection algorithm can be just a simple sort rather than the recursive stuff I was doing previously. I changed calculcate_salvo to:

Code: Select all

def calculate_salvo(salvo):
    return sorted(salvo, key=lambda (t, l) : (7*t+4*l, l))
and that seems to be working just as well as before. Here is the complete code:

Code: Select all

import golly as g

def calculate_salvo(salvo):

    return sorted(salvo, key=lambda (t, l) : (7*t+4*l, l))

g_coords = g.transform(g.parse('bo$o$3o!'), 0, -2)
g_coords = zip(g_coords[::2], g_coords[1::2])


def get_salvo():
    
    r = g.getrect()
    if not r:
        return []

    cells = g.getcells(r)
    new_cells = g.evolve(cells, 100)

    if len(new_cells) != len(cells):
        return []

    a, b = min(new_cells[::2]), max(new_cells[::2])
    c, d = min(new_cells[1::2]), max(new_cells[1::2])

    if r != [a+25, c-25, b-a+1, d-c+1]:
        return []

    ret = []

    for i in range(4):
        cells_list = zip(cells[::2], cells[1::2])
        cells_set = set(cells_list)
        for x0, y0 in cells_list:
            if all((x0+x, y0+y) in cells_set for (x, y) in g_coords):
                ret.append((2 * (y0-x0) - i, x0+y0))
        cells = g.evolve(cells, 1)

    return ret


clock_turner = g.parse('3bo$3bobo$2bobo$4bo3$2o$2o!', 0, -4)
g_ne = g.parse('3o$o$bo!', -6, -1)


def glider_rewind(gens):

    phase = -gens % 4
    glider = g.evolve(g_ne, phase)
    return g.transform(glider, (gens + phase) / 4, (gens + phase) / 4)


def place_turner(glider, sw_lane, width):

    timing, lane = glider
    z = (lane + width - sw_lane) // 2

    g.putcells(g.evolve(clock_turner, timing % 2), z - width, lane - z)
    g.putcells(glider_rewind(2 * lane - timing), -width, lane - 2 * z)


r = g.getrect()
if r:
    step = 23
    sw_lane = r[1] + r[3] - r[0] + 4 * step
    width = r[2] + 20
    for glider in calculate_salvo(get_salvo()):
        place_turner(glider, sw_lane, width)
        sw_lane += step
simsim314 wrote: EDIT2 It would be nice to go over "evil salvo list" to "rate" the placer. As for now I just place single glider 14 ticks behind, and report success, if everything worked. If we want more fine tuned results, we need better rating/filtering definitions.
If an inserter can work at 14 ticks on lane 0 and 7 ticks on lanes +/-6 then I think it is likely to be a perfect inserter:

Code: Select all

x = 17, y = 26, rule = B3/S23
8bobo$8b2o3bo$9bo3bobo$13b2o3$14bobo$14b2o$15bo3$3bo$3bobo$2bobo$4bo3$
2o$2o5$3b3o$3bo$4bo!
It would be great to find a 4 or 5 glider method of achieving this so that we can use just one inserter for every scenario.

User avatar
dvgrn
Moderator
Posts: 10565
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Splitters with common SL

Post by dvgrn » December 22nd, 2014, 7:45 pm

chris_c wrote:I had another think about completing a formal proof. By picking off gliders on a non-diagonal front I think the selection algorithm can be just a simple sort rather than the recursive stuff I was doing previously. If an inserter can work at 14 ticks on lane 0 and 7 ticks on lanes +/-6 then I think it is likely to be a perfect inserter...
A good-enough inserter, anyway. On second thought I probably shouldn't ask for a cheaper reaction that can replace the clock inserter in every possible situation, because the clock inserter is just ridiculously better than we need for construction universality:

Code: Select all

#C clock->glider insertion into a deep pocket
x = 25, y = 43, rule = B3/S23
18bo$16b2o4bo$17b2o2bo$21b3o$12bobo$12b2o$13bo$10bo$8b2o$9b2o11bobo$
22b2o$5bobo15bo$5b2o$6bo$3bo$b2o$2b2o4$3bo$3bobo$2bobo$4bo3$2o$2o13$
12b2o$12bobo$12bo!
The [7@-6,14@0,7@6] test seems like a likely one -- sufficient, at least, though possibly not necessary. Seems as if there might be a construction order that would allow an inserter that fails this test to still construct any possible salvo. For example, would an inserter that can drop a glider a couple of cells into a slope-6 line allow universality? and what's a good way to measure this kind of thing?

Code: Select all

#C sample slope-6 insertion
x = 18, y = 25, rule = B3/S23
8bo$8bobo2bo$8b2o3bobo$13b2o$3bobo$3b2o$4bo10bobo$15b2o$16bo3$4bo$2b2o
$4b2o$3bo3$2o$2o4$4bo$3b2o$3bobo!
chris_c wrote:It would be great to find a 4 or 5 glider method of achieving this so that we can use just one inserter for every scenario.
It seems vaguely possible that there's a 4-glider collision that will produce a perfect inserter directly. A 3-glider solution seems a bit too much to hope for -- somebody would have noticed it by now.

It appears that none of simsim314's 5-glider solutions so far can quite match the clock+spark insertion. But there are lots of options left to try, including colliding with an active 2-glider collision -- no starting target still life. Blinkers and traffic lights are also fair game as intermediate targets, of course.

chris_c
Posts: 966
Joined: June 28th, 2014, 7:15 am

Re: Splitters with common SL

Post by chris_c » December 22nd, 2014, 9:28 pm

dvgrn wrote: The [7@-6,14@0,7@6] test seems like a likely one -- sufficient, at least, though possibly not necessary.
Well if the condition is not satisfied then I think the recipe we end up with will have some fairly unusual properties. In which order would you construct this salvo?

Code: Select all

x = 9, y = 9, rule = B3/S23
obo$2o$bo2$2bo$bo$b3o2bobo$6b2o$7bo!
If the front one is made last then that requires the 7@+/-6 property. If one of the back ones is made last then that requires the recipe to be able to do back insertions with at least a one lane overhang. I can't get my head round how that would be practical in a recipe that also has good front insertion characteristics.

Unfortunately it seems that the condition is not sufficient either. I tweaked one of simsim's loaf based inserters to get this:

Code: Select all

x = 25, y = 22, rule = B3/S23
16bobo$16b2o$o16bo$b2o$2o2$22bobo$22b2o$9bo13bo$8bobo$7bo2bo$8b2o3$16b
3o$16bo$17bo3$14b3o$14bo$15bo!
It's perfect on lanes -6, ... +6 but it can make neither of the gliders in this salvo:

Code: Select all

#C A symmetric salvo with two gliders differing by 7 lanes
x = 6, y = 6, rule = B3/S23
o$obo$2o$4bo$3bo$3b3o!
So what I think is a necessary condition is that the recipe is perfect on lanes -6, ... +6 (concretely, that means the gaps should be [7,9,11,13,14,14,14,14,14,13,11,9,7]) and that the sum of the gaps on lanes +/-N are less than or equal to 1 for all N >= 7.

Reasoning: suppose that the minimum gap at +N is t1 and the minimum gap at -N is t2 and that t1 + t2 > 1. Let t = t1 - 1. Then t < t1 and -t = 1 - t1 = t2 - (t1 + t2 - 1) < t2. So gliders differing by N lanes and time t cannot be built by this recipe.

I am going to try brute force and hope that something good enough shows up.

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Splitters with common SL

Post by simsim314 » December 23rd, 2014, 3:27 am

dvgrn wrote:It seems vaguely possible that there's a 4-glider collision that will produce a perfect inserter directly.
OK lets do this search.
chris_c wrote:It's perfect on lanes -6, ... +6 but it can make neither of the gliders in this salvo:
You don't have to use the same recipe all the time. You need a set of recipes that work universally.
chris_c wrote:So what I think is a necessary condition...
I couldn't understand this section. It seems to me that we need inserter for any "3 gliders front". So all we need is:

1. List of "gliders fronts".
2. For each glider front, recipe that works for it.
3*. Preferably a proof of universality. That is having N recipes from #1, we can get universal insertion algorithm. There is no need to optimize #1, we just need N cases, for very large N. As we have it all done by scripts, we can allow ourselves very large number of cases and recipes.

EDIT Here is a (unfilled) table for left+right tight gliders:

Code: Select all

x = 1987, y = 2007, rule = LifeHistory
3.A.A$3.2A$4.A2$C$C.C$2C47$5.A.A$C4.2A$C.C3.A$2C48$C4.A.A$C.C2.2A$2C
4.A48$C$C.C2.A.A$2C3.2A$6.A47$C$C.C$2C3.A.A$5.2A$6.A46$C$C.C$2C$5.A.A
$5.2A$6.A45$C$C.C$2C$4.A.A$4.2A$5.A45$C$C.C$2C2$4.A.A$4.2A$5.A44$C$C.
C$2C2$3.A.A$3.2A$4.A44$C$C.C$2C3$3.A.A$3.2A$4.A38$4.A$3.A$3.3A3$C$C.C
$2C44$4.A$3.A$3.3A2$C$C.C$2C47$6.A$C4.A$C.C2.3A$2C48$C5.A$C.C2.A$2C3.
3A48$C$C.C3.A$2C3.A$5.3A47$C$C.C$2C4.A$5.A$5.3A46$C$C.C$2C3.A$4.A$4.
3A46$C$C.C$2C$5.A$4.A$4.3A45$C$C.C$2C$4.A$3.A$3.3A45$C$C.C$2C2$4.A$3.
A$3.3A39$5.A$3.2A$4.2A3$C$C.C$2C44$5.A$3.2A$4.2A2$C$C.C$2C46$6.A$4.2A
$C4.2A$C.C$2C47$6.A$C3.2A$C.C2.2A$2C48$C5.A$C.C.2A$2C3.2A48$C$C.C3.A$
2C2.2A$5.2A47$C$C.C$2C4.A$4.2A$5.2A46$C$C.C$2C$6.A$4.2A$5.2A45$C$C.C$
2C$5.A$3.2A$4.2A45$C$C.C$2C2$5.A$3.2A$4.2A39$4.A$4.A.A$4.2A3$C$C.C$2C
44$4.A$4.A.A$4.2A2$C$C.C$2C44$3.A$3.A.A$3.2A2$C$C.C$2C47$5.A$C4.A.A$C
.C2.2A$2C48$C4.A$C.C2.A.A$2C3.2A48$C$C.C2.A$2C3.A.A$5.2A47$C$C.C$2C3.
A$5.A.A$5.2A46$C$C.C$2C$5.A$5.A.A$5.2A45$C$C.C$2C$4.A$4.A.A$4.2A45$C$
C.C$2C2$4.A$4.A.A$4.2A38$1228.A50.A50.A50.A$127.A50.A50.A50.A50.A296.
A50.A50.A50.A50.A50.A243.A50.A48.A50.A50.A50.A346.A.A48.A.A48.A.A48.A
.A48.A.A$26.A50.A49.A.A48.A.A48.A.A48.A.A48.A.A100.A50.A41.A50.A47.2A
49.2A49.2A49.2A49.2A49.2A52.A50.A39.A50.A48.A50.A49.3A48.3A48.3A48.3A
51.A50.A140.A.A48.A.A47.2A49.2A49.2A49.2A49.2A$26.A.A48.A.A47.2A49.2A
49.2A49.2A49.2A51.A49.A.A48.A.A37.2A49.2A49.2A49.2A49.2A49.2A49.2A49.
2A49.2A49.2A39.A50.A49.3A48.3A253.A50.A40.A.A48.A.A47.2A49.2A49.A50.A
50.A50.A50.A51.A.A$26.2A49.2A305.A.A47.2A49.2A39.2A49.2A355.2A49.2A
38.3A48.3A354.3A48.3A38.2A49.2A49.A50.A305.2A$384.2A1140.A50.A407.A$
30.C49.C49.C49.C49.C49.C49.C49.C49.C49.C49.C49.C49.C49.C49.C49.C49.C
49.C49.C49.C49.C49.C49.C49.C49.C49.C49.C49.C49.C49.C49.C49.C49.C49.C
49.C49.C49.C49.C49.C49.C$30.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C
47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.
C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C
47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C47.C.C$30.2C48.
2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C
48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.
2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C48.2C!

chris_c
Posts: 966
Joined: June 28th, 2014, 7:15 am

Re: Splitters with common SL

Post by chris_c » December 23rd, 2014, 9:00 am

simsim314 wrote: I couldn't understand this section.
Probably me neither. It seems like we definitely need an inserter that works with 7 ticks on lanes +6 and -6. That definitely seems like the hardest case. After that it is probably easy to complete the other cases using different recipes. But I was really hoping for a cheap(ish) recipe that can give a universal solution on its own.

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Splitters with common SL

Post by simsim314 » December 23rd, 2014, 11:39 am

I'm not sure whether +/-6 or +/- 5 is the worst case (or combination of the two).

Code: Select all

x = 30, y = 20, rule = B3/S23
3$obo16bobo$2o17b2o$bo18bo2$bo19bo$o4bobo12bo4bobo$3o2b2o13b3o2b2o$6bo
19bo!
chris_c wrote: But I was really hoping for a cheap(ish) recipe that can give a universal solution on its own.
I think your 8 glider solution is actually not that bad. I'll run more exhaustive search for 4/5 gliders later on, but from what I can see there is some sort of magic done with the clock inserter, which is pretty rare.

chris_c
Posts: 966
Joined: June 28th, 2014, 7:15 am

Re: Splitters with common SL

Post by chris_c » December 23rd, 2014, 1:13 pm

simsim314 wrote:From what I can see there is some sort of magic done with the clock inserter, which is pretty rare.
I think I agree with that. I ran a fairly wide search with 4 gliders and there was nothing that Just Works like the clock inserter does. This is the (unique) best I could come up with:

Code: Select all

x = 23, y = 31, rule = B3/S23
2bo$obo$b2o2$8bo$9b2o$8b2o14$20b2o$20bobo$20bo6$20b2o$20bobo$20bo!
It is deficient by a few ticks on lanes 4, 5 and 6 but it should be good enough everywhere else.

Also this is probably the best 3 glider inserter. I reckon that its performace is sufficient everywhere except lanes -8 to +7:

Code: Select all

x = 40, y = 37, rule = B3/S23
2bo$obo$b2o32$31b3o3b3o$31bo5bo$32bo5bo!
I also tried to search for a head on 4 glider clock synthesis but had no luck.

User avatar
Extrementhusiast
Posts: 1966
Joined: June 16th, 2009, 11:24 pm
Location: USA

Re: Splitters with common SL

Post by Extrementhusiast » December 23rd, 2014, 6:06 pm

chris_c wrote:I also tried to search for a head on 4 glider clock synthesis but had no luck.
Bidirectional slow salvo?
I Like My Heisenburps! (and others)

chris_c
Posts: 966
Joined: June 28th, 2014, 7:15 am

Re: Splitters with common SL

Post by chris_c » December 23rd, 2014, 7:30 pm

Extrementhusiast wrote:
chris_c wrote:I also tried to search for a head on 4 glider clock synthesis but had no luck.
Bidirectional slow salvo?
I guess if there was a SL + 2G collision that made a clock then it would already be known, right? I was kind of surprised I couldn't find a head on 4 glider clock synthesis but it just goes to show how rare clocks are (or there was a bug in my search).

Anyway, I have updated my script to calculate glider based inserters. I added the 3-glider, 4-glider and 8-glider inserters that I already mentioned in this thread. More can easily be added. When applied to the Borg Salvo, the 3-glider inserter is used 37% of the time, the 4-glider 49% and the 8-glider %14. I'm pretty happy with that result already.

The selection method used in the script guarantees that a glider that already exists N lanes to the NW of the current glider will be at most N ticks in front and that a glider that exists N lanes to the SE will be at least N+1 ticks behind. If an inserter cannot meet the requirements for a particular lane then that must be listed in the exceptions dict of the recipe.

The selection method was chosen because:

a) it is simple
b) it works well with the 3 and 4 glider inserters.

I would love to see efficient stable converters for the inserters --- in particular the 4-glider inserter looks like it could be a good work-horse.

Here is the code:

Code: Select all

import golly as g

#recipe3 is perfect on lane 2 so the dict entry for 2 is useless but harmless

recipe3 = [g.parse('2bo$obo$b2o!', -16, 1),
           g.parse('3o3b3o$o5bo$bo5bo!', -5, 15),
           {-8: 2, -7: 5, -6: 8, -5: 10, -4: 12, -3: 14, -2: 15, -1: 15,
             0: 15, 1: 15, 2: 14, 3: 14,  4: 14,  5: 13,  6: 11,  7:  9 }]

#recipe4 seems like a good compromise between cost and quality

recipe4 = [g.parse('2bo$obo$b2o2$8bo$9b2o$8b2o!', -15, 2),
           g.parse('2o$obo$o6$2o$obo$o!', -3, 14),
           {4: 12, 5: 12, 6: 10}]

#recipe8 is perfect for our selection algorithm, no dict entries needed

recipe8 = [g.parse('obo$b2o$bo8$23bo$14bo9bo$15bo6b3o$13b3o2$20bo$18bobo$19b2o!', -43, 2),
           g.parse('4b2o$4bobo$4bo2$9b3o$3o6bo$o9bo$bo14$15bo$14b2o$14bobo!', -18, 20),
           {}]


all_recipes = [recipe3, recipe4, recipe8]


def calculate_salvo(salvo):

    ret = []
    all_gliders = set()

    for t, l in sorted(salvo, key=lambda (t, l) : (t+l, l)):

        for i, (_, _, exceptions) in enumerate(all_recipes):
            
            is_ok = True
            
            for t1, l1 in all_gliders:
                if l1 - l in exceptions and t - t1 < exceptions[l1-l]:
                    is_ok = False
                    break
                
            if is_ok:
                all_gliders.add((t, l))
                ret.append(((t, l), i))
                break

    assert(len(ret) == len(salvo))

    return ret


g_coords = g.transform(g.parse('bo$o$3o!'), 0, -2)
g_coords = zip(g_coords[::2], g_coords[1::2])


def get_salvo():
    
    r = g.getrect()
    if not r:
        return []

    cells = g.getcells(r)
    new_cells = g.evolve(cells, 100)

    if len(new_cells) != len(cells):
        return []

    a, b = min(new_cells[::2]), max(new_cells[::2])
    c, d = min(new_cells[1::2]), max(new_cells[1::2])

    if r != [a+25, c-25, b-a+1, d-c+1]:
        return []

    ret = []

    for i in range(4):
        cells_list = zip(cells[::2], cells[1::2])
        cells_set = set(cells_list)
        for x0, y0 in cells_list:
            if all((x0+x, y0+y) in cells_set for (x, y) in g_coords):
                ret.append((2 * (y0-x0) - i, x0+y0))
        cells = g.evolve(cells, 1)

    return ret


def pat_advance(pat, gens, direction):

    phase = gens % 4
    pat = g.evolve(pat, phase)
    return g.transform(pat, direction * (gens - phase) / 4, direction * (gens - phase) / 4)


def place_recipe(glider, recipe, sw_lane, width):

    timing, lane = glider
    gs_se, gs_nw, exceptions = recipe
        
    gs_se = pat_advance(gs_se, timing - 2*lane, +1)
    gs_nw = pat_advance(gs_nw, timing - 2*lane, -1)
    
    d = (sw_lane-lane) // 2
    
    g.putcells(gs_se, -width - 2*d, lane)
    g.putcells(gs_nw, -width, lane + 2*d)
    
counts = [0] * len(all_recipes)

r = g.getrect()
if r:
    step = 80
    sw_lane = r[1] + r[3] - r[0] + 4 * step
    width = r[2] + 50
    for glider, i in calculate_salvo(get_salvo()):
        place_recipe(glider, all_recipes[i], sw_lane, width)
        counts[i] += 1
        sw_lane += step
    g.show(str(counts))
And here is the Borg Salvo being duplicated:

Code: Select all

x = 26223, y = 26067, rule = B3/S23
26173bo$26123bo4bo7bobo2bobo5bo3bo4bo4bobo6bo4bobo5bo8bo3bobo10bo$
26122bo5bobo5b2o3b2o4b2o4bobo2bobo2b2o7b3o2b2o6bobo5bo4b2o3bo5b2o$
21613bo1037bo1199bo719bo320bo1229b3o3b2o7bo4bo5b2o3b2o3b2o4bo3bo9bo6b
2o6b3o3bo3bobo4b2o7bo$21614bo531bo505b2o292bo237bo480bo186b2o610bobo
105b2o319bo292bo107bo157bobo677bobo33bobo32b2o14bobo$20894bo717b3o529b
obo504b2o294bo237b2o479b2o183b2o612b2o104b2o318b3o131bobo156bobo108bo
157b2o79bo597b2o9bo19bo4b2o11bo31bo5b2o$20892bobo1250b2o798b3o236b2o
479b2o109bo688bo560b2o157b2o106b3o157bo81bo597bo8bo13bobo3bo16b2o4bo
11bobo13bobo$20893b2o400bo2481bo1248bo506b3o588bo17b3o5bo5b2o4b3o10bo
4b2o2bo12b2o8bo5b2o$21296b2o2477b3o292bo1306bo745bo25bo7bo17bobo6b3o2b
obo6bo4bo2bo11bo$20900bo394b2o401bo878bo480bo1012bo666bo639bo744b3o10b
o12b3o23b2o12b2o10b2o3b3o9bobo$19780bo1120b2o793bobo161bo717b2o476bobo
560bo449b3o158bobo106bo399b2o238bo396b3o752bo4bobo28bobo20bo11b2o10bo
3b2o$19778bobo640bo478b2o401bo393b2o159bobo716b2o478b2o561bo161bobo
446b2o107b2o290bo105b2o237bobo160bo989bo5b2o19bobo2bo4b2o18bo9bobo13bo
$19779b2o641bo881bo554b2o640bo1116b3o162b2o446bo107b2o292bo344b2o161bo
988b3o11bo12b2o3bobo3bo9bo6b2o10b2o14b3o$19543bo876b3o879b3o399bo797b
2o81bo478bo718bo397bo449b3o112bo75bo316b3o241bobo736bobo17b2o5bobo6bo
3b2o9bo2b2o8b2o6bo3bo6bo$19541bobo1971bo189b2o237bo556b2o83bo478b2o
1115b2o303bo259bo72bobo561b2o736b2o10bobo6b2o4b2o20b2o4b2o13b2o10bo$
18344bo1197b2o719bobo317bo929bobo188b2o239bo220bobo415b3o236bobo141bo
96b2o141bo175bobo239bobo60bo492b2o295bo9bo256b3o73b2o225bo157bobo175bo
738bo6bo3b2o14bo3bobo8bo6b2o7bo11b2o9b3o11bo$18345b2o1917b2o318b2o928b
2o427b3o211bobo7b2o655b2o132bo9b2o228bo6bobo176b2o77bobo160b2o51bo6bob
o336bo453bo6b3o550bo9bo96bobo48bobo7b2o920bo5bo3bobo12b2o9bobo13bobo2b
o27bo2bo$18344b2o879bo1038bo318b2o1440bobo130b2o7bo656bo134b2o6b2o227b
obo7b2o176bo79b2o160bo50bobo7b2o334bobo451b3o560bo6b3o97b2o49b2o7bo
921b3o7b2o14bo9b2o14b2o3bobo12bo10b2o3b3o$19226b2o1279bo639bo878b2o
130bo79bo719b2o237b2o265bo213b2o344b2o402bo609b3o106bo50bo921bobo17bo
19bo10bo14b2o8bobo2bobo4bo4b2o$18269bo798bo156b2o1281b2o638bo801bobo
73bo136bo75b2o187bo774bo188bo291bo236bo169bo334bobo55bo718bo916b2o22bo
bo13bobo6b2o19bo5b2o3b2o5bobo$17148bo1118bobo799b2o1118bo317b2o637b3o
802b2o211b2o72b2o189bo533bobo183bo54bo185bobo292bo236bo159bo9b2o159bo
173b2o53bobo560bo158b2o915bo22b2o5bo8b2o8b2o6bo11bobo4bo10b2o$17149b2o
1117b2o798b2o163bo956bo1760bo82bo128b2o262b3o452bo81b2o184bo51b3o186b
2o157bo132b3o234b3o160b2o6b2o151bo9bo228b2o558bobo157b2o921bo7bobo8bo
5bobo10bo13bobo5bo3b2o13bo$17148b2o1521bo240bo321bo953b3o324bo233bobo
79bo1200bobo77bo767bobo81bo183b3o400bo530b2o161bo6b3o398bo390b2o1079bo
8b2o15b2o11bobo11b2o4b2o17b2o$17312bo962bo396b2o239bo162bo155b3o1281bo
233b2o80bo320bobo877b2o78bo767b2o666b3o691b3o398bo9b2o1464bobo2b3o7bo
5bobo11bo8b2o19b2o17b2o13bobo$16354bo958b2o961b2o393b2o238b3o163bo636b
o799b3o233bo79b3o321b2o75bobo877b3o320bobo1650bobo555b2o6b2o1465b2o19b
2o6bo5bobo10bo23bo26b2o$16352bobo957b2o961b2o798b3o637bo1438bo77b2o
301bobo897b2o316bobo399bobo155bo774b2o160bo393b2o1475bo20bo4b2o6b2o11b
obo2bo18bobo18bo6bo$15715bo637b2o1119bo1040bo163bo1033b3o1042bo316bo
156bo293bobo7b2o897bo318b2o400b2o156b2o240bobo529bo159bobo1875bo9bo11b
2o10bobo5b2o3bobo3bobo10b2o6bo4bo7bobo$15716b2o1757b2o77bobo959bo163bo
686bo108bo1279bobo317bo450b2o7bo581bobo235bo397bo401bo156b2o242b2o690b
2o398bobo1472b2o5bo4bobo6bo14b2o11b2o4b2o8bo9bo5bobo5b2o$15715b2o400bo
1356b2o79b2o957b3o161b3o687b2o107bo399bo879b2o315b3o450bo591b2o236bo
1199bo1092b2o1473b2o4bobo2b2o5b2o8bo7bo4bo13bo7bo10b3o3b2o$16118bo
1436bo641bo1169b2o106b3o242bobo155b2o1652bo266bo319bo141bo93b3o404bo
1887bo1471bo8b2o11b2o5b2o11b2o22b3o4bo14bo$15078bobo318bo323bo392b3o
1363bo715b2o1521b2o154b2o1120bo533b2o265bo451bo6bobo498bobo1179bo2177b
2o17bobo10b2o6bo4b2o4bobo20bo15bobo$15079b2o319bo323bo794bobo961bo713b
2o322bobo1197bo398bo876bobo532b2o264b3o449bobo7b2o499b2o1170bo9b2o
2176b2o4bo11b2o6bo11bo11b2o7bo13b3o8bo4b2o7bo$15079bo318b3o321b3o795b
2o557bobo399b3o396bobo639b2o1594bobo877b2o402bo848b2o649bobo1029b2o6b
2o2183bobo2bobo5bo6bobo9b3o10bo7bobo22bobo10bo$14040bobo1279bo1197bo
559b2o799b2o159bo162bo316bo80bo1438bo76b2o561bo720bo853bo635bobo7b2o
1028b2o2192b2o3b2o13b2o17bo13b2o9bo9bo3b2o11b3o$14041b2o131bo912bo235b
2o558bo1196bo162bo637bo161b2o161bo397bo1435bobo640bo321bo395b3o79bo
321bobo450bo635b2o7bo3229bo4bo27bobo8bo9bo3bobo5b2o$14041bo133b2o346bo
561bobo234b2o81bobo476bo643bo712bobo798b2o160b3o395b3o1436b2o83bo554b
3o322b2o473bobo322b2o448b3o635bo1043bobo2184bo10b2o17bo10b2o3bo3b2o8b
2o4b2o7b2o10bo$14174b2o348b2o560b2o318b2o474b3o641bobo477bo81bo153b2o
645bo1115bo638bobo480b2o876b2o475b2o322bo1092bo1039b2o2183bo7bo4b2o6bo
bo6bo16bobo2b2o8b2o18bo5bobo$14049bo473b2o805bo75bo1120b2o478bo78bobo
315bobo480bobo160bo955bo638b2o401bo77b2o239bo1040bobo1489b2o1037bo
2184b3o4bo13b2o7b3o7bo6b2o25bo5b2o6b2o5bo$14047bobo76bobo1038bo163bo
1566bo106b3o79b2o160bo155b2o481b2o161bo73bobo876b3o383bo254bo403b2o
317bo1040b2o1488b2o3230b3o12bo16bo15bo12bo3b2o7b2o11bo$12848bo1199b2o
77b2o402bo76bo556bobo161b3o557bobo1007b2o349b2o153bo643b3o74b2o1253bo
6bobo657b2o316b3o1040bo4753b3o3bo4bo4bobo10bobo2b2o11bo7b3o$12846bobo
240bo1037bo404bo76b2o555b2o722b2o1006b2o349b2o875bo1201bobo48bobo7b2o
578bo6168bo3bobo7bo15bo5bobo2b2o5bo5b2o15bo$12847b2o238bobo1440b3o75b
2o961bo318bo800bo320bobo686bo746bobo560bobo315b2o49b2o585bobo6159bo6b
2o4b2o3bo4bobo5bo7b3o3b2o8b2o20bo2b3o3bo$13088b2o1045bo1433bobo480bo
639bo320b2o687b2o430bo314b2o561b2o315bo56bo581b2o6158bo8b2o4bo3bobo2b
2o5bo25b2o17b2o8bo6bo$12854bo289bo827bo160bobo480bo635bo317b2o481bo
636b3o320bo687b2o429bobo314bo403bo158bo374bo6733bo6b3o16b2o10b3o28bobo
4bo7b2o7b3o2b2o$11733bo1038bobo80b2o238bo46bobo188bo639bo160b2o238bo
242bo632bobo798b3o558bobo1518b2o716bobo483bo47b3o6733bobo17bo48b2o3b2o
13bo9b2o$11014bo716bobo1039b2o79b2o240b2o45b2o189bo636b3o223bo174bobo
240b3o633b2o324bo1035b2o1357bobo482bo286bobo105b2o481bobo6783b2o16b2o
29bo9bo10bo4b2o11bo$11015bo716b2o1039bo321b2o235b3o853bo6bobo175b2o
1203b2o875bo157bo83bobo154bobo1116b2o480bobo287b2o426bobo160b2o6802b2o
10bobo5bo5bo3bobo7bobo26b3o$11013b3o3170bobo7b2o99bo719bo240bo318b2o
479bobo395b2o240b2o155b2o1116bo482b2o287bo113bo314b2o6953bo5bobo6bo7b
2o5bo4b2o4b2o8b2o12bo4bobo18bo$12135bobo558bo84bo1196bobo206b2o109bo
719bo240b2o798b2o394b2o164bo76bo156bo801bo1202b2o312bo6949bo2b2o6b2o7b
obo6bo5b3o3b2o7bo17b2o5b2o19bobo$11257bo878b2o559b2o80bobo557bobo637b
2o212bo102b3o717b3o239b2o799bo559bobo299bo733bobo323bo877b2o7261b2o4b
2o6bo7b2o28bobo10bo5b2o5bo8bo10b2o$10378bobo877b2o400bo475bo559b2o82b
2o207bobo348b2o156bobo478bo214bo2023bo244bo156b2o290bo6bobo734b2o162bo
158bobo1200bo6940b2o14bo9bo24b2o4bo6bobo13bo4bo6bobo$10379b2o876b2o
402bo1328b2o348bo158b2o319bo371b3o665bo637bobo718b2o243bo445bobo7b2o
899bo158b2o1198bobo6956bobo7bobo8bo18bo7b2o14bobo2b3o4b2o$9820bobo556b
o1279b3o482bo845bo508bo321bo1039bo637b2o717b2o81bo160b3o316bo129b2o
750bo60bo94b3o1359b2o6945bo10b2o3bo4b2o7b2o9bobo7b3o12bo8b2o11bo$9821b
2o880bo879bo558bobo1674b3o1037b3o637bo323bo475bobo480b2o133bo746b2o49b
o6bobo8395bobo4bo16bobo8bo3b2o8b2o21b2o4bo14bo$9821bo882bo879bo558b2o
478bo540bobo340bo155bo2160bo401bo73b2o479b2o135bo744b2o48bobo7b2o8395b
2o5b3o5bobo6b2o7b2o15bo4bo11bo5b2o3bobo6bo3b2o5bo$9104bo1439bo157b3o
877b3o81bobo233bobo719b2o529bobo7b2o338bobo153bobo773bo267bo801bo314b
3o402bo688b3o795b2o110bobo938bo7353bo13b2o3bo13b2o9bo9bobo9bobo8b2o6bo
5b2o4bobo$8545bo556bobo724bo715bo1121b2o234b2o718b2o531b2o7bo260bo79b
2o154b2o162bobo609bo267bo798bobo717b3o1492bo106b2o929bo9bo7367bo3bobo
20b2o10b2o5bo4b2o17b3o9b2o$8546b2o555b2o374bo347bobo713b3o639bobo479bo
235bo483bo768bo270bo399b2o607b3o265b3o799b2o157bobo318bo1734bo105bo
931bo6b3o7361bo9b2o3bo18b2o16bobo8bo9bo$8545b2o930bobo108bo239b2o879bo
bo474b2o318bobo80bobo796bo158bo613bo263b3o241bo157bo1120bo717b2o161bob
o155bo1731b3o1035b3o7362bo7bobo12bobo7bo26b2o8bo8b2o$9478b2o109bo1120b
2o474bo320b2o81b2o319bo474b3o159bo613b2o506b2o1274bobo717bo163b2o153b
3o10134bobo5b2o4bobo6b2o3bo4bobo34b3o7b2o6bo6bo$7269bo960bo322bo875bo
157b3o960bobo157bo796bo82bo318bobo634b3o400bo62bo148b2o506b2o1276b2o
881bo2933bo7357b2o12b2o12bobo2b2o14bo7bo8bo19b2o7bobo$7270bo960bo158bo
163bo875bo640bo479b2o641bo715b2o1035bobo53bo9bo735bobo1038bo883bo3087b
obo7361bo10bo4bo7b2o7bo11bobo4bo7b2o21b2o6b2o$7268b3o958b3o159b2o159b
3o797bo75b3o641bo478bo320bo319bobo1198bobo552b2o54bo6b3o736b2o157bobo
879bo162bo717bobo317bobo2768b2o7361bobo13bobo14bobo2bobo4b2o5b3o6b2o
24bo$8390b2o961bo240bobo473b3o800bo319b2o238bo637bobo320b2o606b3o745bo
159b2o877b3o163b2o716b2o318b2o10131b2o5bobo6b2o15b2o3b2o29bo6bo10bobo$
6874bo1279bo1196b3o241b2o47bo267bo958b3o557bobo638b2o320bo1515bo1043b
2o1037bo10139b2o30bo8bo20bobo2b2o6bo4b2o$6875bo1279bo80bobo1196bobo
157bo49b2o266b2o1517b2o560bo77bo936bo585bo162bo12365bo9bo5bo12bo14bo5b
obo3bo8bo5b2o4b2o4bo10bobo$6873b3o78bo1198b3o81b2o1197b2o206b2o266b2o
163bobo1915bo317bobo691bobo586bo159bobo699bo11664bo14b2o7bo3b2o6bo8bob
o3b2o2b2o9bobo15b3o8b2o$6955b2o1280bo1120bobo75bo641b2o127bo908bo876b
3o318b2o160bo531b2o584b3o160b2o690bo9b2o11662b3o13b2o4b2o5b2o3b2o4bo4b
2o9b2o4bo3b2o28bo$6954b2o960bobo1359bo80b2o138bobo576bo129b2o907bo
1196bo159bobo800bo1172b2o6b2o11671bo4bo9b2o10b2o3bobo6bo11bo15bo10bo$
5519bo1276bobo81bobo233bobo798b2o131bo109bobo315bo800bo79bo130bobo7b2o
705b2o107bobo796b3o1357b2o801b2o1169b2o11678b2o3b2o27b2o6bo12b3o8bobo
2bobo7bo$5517bobo1277b2o82b2o79bo154b2o798bo133bo109b2o316bo797b3o211b
2o7bo816b2o2958b2o322bobo12526b2o3b2o12bobo3bo15b3o16bobo2b2o3b2o8b3o
5bobo$5332bo185b2o1277bo83bo81bo153bo931b3o109bo315b3o1011bo668bo156bo
1042bo2241b2o850bobo11686bobo3b2o3bo13bo11bo9b2o4bo21b2o$5333bo346bobo
1278b3o1917bo614bo661bobo452bo747bo480bo397bo1044bo316bo852b2o11666bob
o13bo3b2o5bo3b3o3bo5b2o11bo11bo27bo$5331b3o191bo155b2o852bo187bo81bo
2073bobo402bobo210b2o502bo157b2o164bo285bobo745b3o478bobo398b2o1043bo
1168bo11667b2o3bo4bo4bo5bo14bo7b2o10b3o26bo$5526b2o153bo80bo770bobo
185bobo79bobo1998bo75b2o403b2o209b2o504b2o319bobo286b2o1227b2o397b2o
1042b3o12837bo3bobo2bobo2b3o8bo9b3o12bobo12bo16b2o5bo$3817bo1707b2o
236b2o769b2o186b2o80b2o1036bobo957bobo480bo381bo333b2o163bo157b2o
15802b2o3b2o13bo25b2o11b2o9bo8b2o4bobo$3815bobo79bo427bo720bo642bo72b
2o881bo1118bo78b2o958b2o82bo770bo6bobo499b2o314bobo320bo559bobo479bo
14293bobo3b3o12bo11bo3bo8b2o8bobo12b2o4bobo$3816b2o80b2o426bo717bobo
640bobo953bobo1119b2o76bo1044b2o317bo448bobo7b2o341bo156b2o316b2o321bo
559b2o480b2o14271bo13bo5b2o10bobo6bobo12bo4bobo12b2o19b2o$3897b2o425b
3o718b2o241bo399b2o80bo873b2o1118b2o959bobo159b2o319bo448b2o351bo219bo
253bo320b3o159bo399bo480b2o14270b2o7bobo4bobo4bo10b2o7b2o13b3o2b2o9bo
11bo13bo$4407bo878bobo482bo237bo1677bo163bo874b2o478b3o454bo344b3o210b
o6bobo737b2o15151b2o6b2o5b2o11bo5bo15bo12bo4bo4bobo8bo10bo$2647bobo
1040bo717b2o642bo156bo77b2o480b3o238bo640bo688bobo345b2o159bobo219bo
654bo937bo554bobo7b2o736b2o15161bo16b2o9bobo9bo18bobo2b2o3bo5b3o7bo$
2648b2o320bo720bo639bobo73b2o644b2o155b2o796b3o641b2o687b2o344b2o161b
2o210bo9b2o256bo719bo611b3o555b2o15905bo6bo7bobo3b2o8b2o10b3o12bo3b2o
8bobo8bo4b3o$2648bo322b2o716b3o640b2o718b2o155b2o83bo58bo497bo799b2o
688bo269bo451b2o6b2o258bo402bo313bobo721bo453bo15894bo3b2o6bo8b2o15bo
5bo18bo14b2o9bobo$2970b2o240bo958bobo158bo82bo395bo483b2o47bo9b2o493bo
bo1760bo400bo48b2o265b3o400bobo314b2o719bobo454bo405bobo15485bobo2b2o
5b3o7bo12bo8bobo9bo6b3o23b2o$3213b2o957b2o242bo317bo77b2o403bo76b2o49b
2o6b2o495b2o163bobo537bobo1052b3o401bo718b2o239bo796b2o452b3o396bobo7b
2o15485b2o26bo4b2o9b2o8b2o13bo27bo$1746bo346bobo479bo402bo233b2o482bob
o473bo241b3o318bo75b2o405bo125b2o670b2o476bo51bobo7b2o1454b3o52bobo
905bo1649b2o7bo15495bo17bo6b2o12bo6b2o11bo13bo12b2o$1747b2o345b2o477bo
bo403bo717b2o138bobo893b3o480b3o235bobo559bo475bobo52b2o7bo1511b2o266b
obo634b3o1649bo15504bobo3bo6bo4b3o18bobo17b3o2bobo4b2o5bo8b2o$1746b2o
346bo479b2o241bo159b3o634bobo80bo130bobo7b2o80bo259bo638bo529bobo103b
2o1036b2o52bo1069bobo448bo268b2o2291bo15489bobo2bobo2b2o2b2o6bo21bo4b
2o23b2o6b2o3bo4bobo$1669bo1145bobo797b2o212b2o7bo72bo6bobo257bobo76bo
562bo529b2o103bo691bobo186bo215bo503bobo559b2o399bobo315bo318bobo1972b
2o15487b2o3b2o8b2o5b3o19bobo6bobo8bo10bo11b3o2b2o$1670b2o430bo236bo
241bo234b2o721bo75bo213bo79bobo7b2o258b2o77bo559b3o529bo797b2o187b2o
161bo52b2o502b2o479bo79bo401b2o635b2o321bobo1647b2o15489bo4bo32bobo2b
2o7b2o7b2o5bo9bo13bo5bo$952bo265bo450b2o267bobo159bobo234bobo242b2o
956bo293bo75b2o344b3o1889bo187b2o163b2o49b2o503bo131bobo171bo175b2o
479bo636bo323b2o17157bo5bo12b2o7bo5bo8b2o3bo9bo5bo14bobo$950bobo266b2o
718b2o160b2o235b2o241b2o955b3o82bo211b2o79bo183bo478bobo1918b2o688b2o
162bo9bo95bo77b2o1441bo17152bo4bo6bobo4bobo4bo7bobo17b3o7b3o3bobo4bo3b
o3b2o$951b2o265b2o719bo800bo880bobo210b2o81bo183b2o477b2o319bo2288bo
164bo6b3o96bo1203bo17455bo12bobo2b3o4b2o5b2o8bobo2b2o4bo6bo11bo10b2o3b
2o3bo$1862bo158bo719b2o319bo559b2o291b3o182b2o161bobo314bo318bobo720bo
319bo1410b3o103b3o1201bobo17454bo7bobo3b2o18bo8b2o8bo5b2o12bobo14b2o2b
3o$1064bo161bo236bo399bo83bo74b2o716b2o321bo1200b2o634b2o718bobo320bo
132bo346bo2240b2o17454b3o5b2o34bo8b3o4b2o3bo7b2o24bo$505bo158bo400bo
161bo233bobo397b3o81bobo73b2o481bo556b3o1044bo155bo240bo1115b2o318b3o
133bo343bobo936bo18768bo13bo4bo10bobo5bobo14bo21bo12bobo$503bobo159b2o
396b3o159b3o234b2o305bo176b2o557b2o241bo156bo557bobo643bo396bo1568b3o
344b2o934bobo18775bobo4bobo2bobo3bobo2b2o6b2o15b3o19bobo10b2o$504b2o
158b2o481bo612bo6bobo734b2o243bo153bobo558b2o641b3o394b3o480bo640bo
638bo1091b2o18764bo10b2o5b2o3b2o4b2o4bo7bo20bobo3bo5bo4b2o7bo$586bo
291bo269bo320bo156bo131bobo7b2o98bobo395bo480b3o154b2o162bobo237bo155b
o1523bo640b2o317bobo219bo97bo19851bobo2bobo9bo17bo33b2o3bo6bobo11bobo$
268bo318b2o290b2o189bobo73b3o238bo82b2o155b2o63bo66b2o108b2o396b2o243b
o556b2o235bobo719bo957b3o639b2o319b2o210bo9bo94b3o19851b2o3b2o39bo6bo
5bobo8bo3b3o4b2o12b2o$269bo316b2o290b2o191b2o315b2o79b2o155b2o55bo6bob
o72bo103bo396b2o245bo397bo157bo51bo185b2o80bo82bo556bo481bobo635bo799b
o212bo6b3o1040bo18908bo7bo5bo3bo5bo5bobo3bo6b2o5b2o6b2o3bo25bo8bo$2bo
264b3o702bobo96bo315b2o292bobo7b2o73bo744b3o398b2o205bobo265bobo80bobo
554b3o482b2o636bo1009b3o1040bo9bo18915bobob2o4bobob2o6b2o4bobo5b2o5b2o
6bo3bobo21b2o9bobo$obo960bobo7b2o575bobo81bo47b2o80b3o396bo110bo156bo
479b2o207b2o192bo73b2o81b2o1039bo635b3o1122bobo928bo6b3o18915b2o3b2o3b
2o3b2o6bo4b2o25b2o23b2o8b2o$b2o81bo79bo159bo105bobo319bo80bo130b2o7bo
336bobo82bo155b2o82bo52bo472bobo111bo156bo882b2o474bobo879bo1493bo106b
2o926b3o$85b2o78bo159b2o104b2o320b2o79bo129bo346b2o83bo154bo81b3o53bo
472b2o109b3o154b3o881b2o476b2o880bo1490bobo106bo$84b2o77b3o158b2o105bo
320b2o78b3o134bo341bo82b3o290b3o2102bo879b3o480bobo939bo68b2o1041bo$
970b2o4184b2o930bo9b2o1107bobo$760bo208b2o348bo3836bo932b2o6b2o1109b2o
$761bo77bobo475bobo3359bobo1406b2o$759b3o78b2o59bo416b2o3360b2o$840bo
51bo6bobo3778bo1412bobo$890bobo7b2o2239bobo2950b2o$22bobo866b2o2239bob
o7b2o2950bo$13bobo7b2o872bo1285bobo947b2o7bo$14b2o7bo83bo77bo161bo550b
o1275bobo7b2o947bo$14bo83bo6bobo68bo9b2o150bo6bobo548b3o1276b2o7bo953b
o$19bo76bobo7b2o69b2o6b2o149bobo7b2o1827bo963b2o$20b2o75b2o77b2o159b2o
1841bo957b2o$19b2o82bo239bo1837b2o$104bo76bobo160bo1835b2o$102b3o77b2o
158b3o$182bo415$26061b2o4b2o$26061bobo3bobo$26061bo5bo68$26052b2o4b2o$
26051b2o4b2o$26053bo5bo82$26056b3o$26056bo$26057bo6$26056b3o$26056bo$
26057bo59$26045b2o4b2o$26045bobo3bobo$26045bo5bo79$26031b2o$26030b2o$
26032bo$26037bo$26028bo7b2o$26027b2o7bobo$26027bobo15$26041b2o$26041bo
bo$26041bo72$26061b3o$26061bo$26062bo6$26061b3o$26061bo$26062bo50$
26026b2o$26026bobo$26026bo2$26031b3o$26022b3o6bo$26022bo9bo$26023bo14$
26037bo$26036b2o$26036bobo66$26048b3o3b3o$26048bo5bo$26049bo5bo56$
26027b2o4b2o$26027bobo3bobo$26027bo5bo107$26055b3o3b3o$26055bo5bo$
26056bo5bo60$26041b2o$26040b2o$26042bo6$26041b2o$26040b2o$26042bo81$
26035bo$26034b2o$26034bobo2$26040b2o$26031b2o6b2o$26030b2o9bo$26032bo
15$26044b3o$26044bo$26045bo26$26020bo5bo$26019b2o4b2o$26019bobo3bobo
78$26005b2o$26005bobo$26005bo2$26010b3o$26001b3o6bo$26001bo9bo$26002bo
14$26016bo$26015b2o$26015bobo97$26059b3o3b3o$26059bo5bo$26060bo5bo49$
26032bo5bo$26031b2o4b2o$26031bobo3bobo79$26017b2o$26017bobo$26017bo2$
26022b3o$26013b3o6bo$26013bo9bo$26014bo14$26028bo$26027b2o$26027bobo
65$26040bo5bo$26039b2o4b2o$26039bobo3bobo65$26013bo$26012b2o$26012bobo
2$26018b2o$26009b2o6b2o$26008b2o9bo$26010bo15$26022b3o$26022bo$26023bo
77$26046b3o3b3o$26046bo5bo$26047bo5bo90$26046bo$26045b2o$26045bobo2$
26051b2o$26042b2o6b2o$26041b2o9bo$26043bo15$26055b3o$26055bo$26056bo2$
26006bo5bo$26005b2o4b2o$26005bobo3bobo82$26011b3o$26011bo$26012bo6$
26011b3o$26011bo$26012bo66$25990b3o$25990bo$25991bo$25996b2o$25987b2o
7bobo$25987bobo6bo$25987bo15$26001b2o$26000b2o$26002bo69$26018b3o$
26018bo$26019bo6$26018b3o$26018bo$26019bo103$26051b3o$26051bo$26052bo
6$26051b3o$26051bo$26052bo55$26035b2o4b2o$26034b2o4b2o$26036bo5bo69$
26030bo$26029b2o$26029bobo6$26030bo$26029b2o$26029bobo105$26062bo5bo$
26061b2o4b2o$26061bobo3bobo18$25985b3o$25985bo$25986bo$25991b2o$25982b
2o7bobo$25982bobo6bo$25982bo15$25996b2o$25995b2o$25997bo99$26044b3o$
26044bo$26045bo6$26044b3o$26044bo$26045bo31$26006b2o$26006bobo$26006bo
6$26006b2o$26006bobo$26006bo60$25981bo$25980b2o$25980bobo2$25986b2o$
25977b2o6b2o$25976b2o9bo$25978bo15$25990b3o$25990bo$25991bo106$26029b
2o$26028b2o$26030bo$26035bo$26026bo7b2o$26025b2o7bobo$26025bobo15$
26039b2o$26039bobo$26039bo31$26019b2o4b2o$26018b2o4b2o$26020bo5bo104$
26048bo$26047b2o$26047bobo6$26048bo$26047b2o$26047bobo9$25984bo5bo$
25983b2o4b2o$25983bobo3bobo93$26000b2o$25999b2o$26001bo6$26000b2o$
25999b2o$26001bo80$26010bo5bo$26009b2o4b2o$26009bobo3bobo98$26029b3o$
26029bo$26030bo6$26029b3o$26029bo$26030bo97$26055b2o4b2o$26055bobo3bob
o$26055bo5bo52$26013b3o$26013bo$26014bo$26019b2o$26010b2o7bobo$26010bo
bo6bo$26010bo15$26024b2o$26023b2o$26025bo11$25969b2o$25968b2o$25970bo$
25975bo$25966bo7b2o$25965b2o7bobo$25965bobo15$25979b2o$25979bobo$
25979bo105$26033b3o$26033bo$26034bo6$26033b3o$26033bo$26034bo51$26016b
o$26015b2o$26015bobo6$26016bo$26015b2o$26015bobo61$26005b3o$26005bo$
26006bo6$26005b3o$26005bo$26006bo58$25991b3o3b3o$25991bo5bo$25992bo5bo
133$26048b3o$26048bo$26049bo6$26048b3o$26048bo$26049bo8$25986b2o$
25986bobo$25986bo6$25986b2o$25986bobo$25986bo55$25970b2o4b2o$25970bobo
3bobo$25970bo5bo114$25990b2o$25989b2o$25991bo$25996bo$25987bo7b2o$
25986b2o7bobo$25986bobo15$26000b2o$26000bobo$26000bo113$26060b3o3b3o$
26060bo5bo$26061bo5bo68$26053b3o$26053bo$26054bo$25976b2o$25975b2o$
25977bo3$26053b3o$26053bo$26054bo$25976b2o$25975b2o$25977bo123$26027b
2o4b2o$26026b2o4b2o$26028bo5bo58$26008b3o$26008bo$26009bo6$26008b3o$
26008bo$26009bo97$26034b2o4b2o$26034bobo3bobo$26034bo5bo85$26043b2o$
26043bobo$26043bo$25966b2o$25966bobo$25966bo3$26043b2o$26043bobo$
26043bo$25966b2o$25966bobo$25966bo126$26020b2o4b2o$26020bobo3bobo$
26020bo5bo69$26014bo$26013b2o$26013bobo6$26014bo$26013b2o$26013bobo
106$26047b2o4b2o$26047bobo3bobo$26047bo5bo22$25992bo5bo$25991b2o4b2o$
25991bobo3bobo82$25998b2o$25997b2o$25999bo6$25998b2o$25997b2o$25999bo
52$25978b2o4b2o$25978bobo3bobo$25978bo5bo154$26054b2o4b2o$26054bobo3bo
bo$26054bo5bo9$25985b2o4b2o$25984b2o4b2o$25986bo5bo96$26002b2o4b2o$
26002bobo3bobo$26002bo5bo106$26032b2o$26032bobo$26032bo6$26032b2o$
26032bobo$26032bo76$26038b2o$26038bobo$26038bo6$26038b2o$26038bobo$
26038bo95$26060b3o3b3o$26060bo5bo$26061bo5bo37$26022bo5bo$26021b2o4b2o
$26021bobo3bobo23$25965b3o3b3o$25965bo5bo$25966bo5bo118$26007b3o$
26007bo$26008bo6$26007b3o$26007bo$26008bo106$26042b2o4b2o$26041b2o4b2o
$26043bo5bo9$25972b3o3b3o$25972bo5bo$25973bo5bo121$26015b2o4b2o$26015b
obo3bobo$26015bo5bo79$26000b3o$26000bo$26001bo$26006b2o$25997b2o7bobo$
25997bobo6bo$25997bo15$26011b2o$26010b2o$26012bo86$26049bo$26048b2o$
26048bobo6$26049bo$26048b2o$26048bobo$25978b2o$25977b2o$25979bo6$
25978b2o$25977b2o$25979bo154$25983b2o$25982b2o80bo$25984bo78b2o$26063b
obo5$25983b2o$25982b2o80bo$25984bo78b2o$26063bobo122$26034b3o$26034bo$
26035bo6$26034b3o$26034bo$26035bo29$25993b2o4b2o$25993bobo3bobo$25993b
o5bo136$26053b2o$26053bobo$26053bo6$26053b2o$26053bobo$26053bo82$
26047b2o$26047bobo$26047bo$25988b2o$25987b2o63b3o$25989bo53b3o6bo$
26043bo9bo$26044bo4$25988b2o$25987b2o$25989bo8$26058bo$26057b2o$26057b
obo96$26022b2o4b2o$26022bobo3bobo$26022bo5bo54$25998b3o$25998bo$25999b
o6$25998b3o$25998bo$25999bo111$26041bo$26040b2o$26040bobo3$25965bo5bo$
25964b2o4b2o$25964bobo3bobo$26041bo$26040b2o$26040bobo82$25973b2o$
25973bobo$25973bo6$25973b2o$25973bobo$25973bo102$26004b2o$26003b2o$
26005bo6$26004b2o$26003b2o$26005bo95$26030bo$26029b2o$26029bobo6$
26030bo$26029b2o$26029bobo55$26015b2o$26014b2o$26016bo6$26015b2o$
26014b2o$26016bo104$26049bo$26048b2o$26048bobo6$26049bo$26048b2o$
26048bobo29$26009bo$26008b2o$26008bobo6$26009bo$26008b2o$26008bobo126$
26063b3o$26063bo$26064bo6$26063b3o$26063bo$26064bo49$26024b3o$26024bo$
26025bo$26030b2o$26021b2o7bobo$26021bobo6bo$26021bo15$26035b2o$26034b
2o$26036bo68$26053b2o$26053bobo$26053bo6$26053b2o$26053bobo$26053bo9$
25990b2o4b2o$25989b2o4b2o$25991bo5bo71$25985b2o$25984b2o$25986bo6$
25985b2o$25984b2o$25986bo105$26018b2o4b2o$26017b2o4b2o$26019bo5bo35$
25977bo5bo$25976b2o4b2o$25976bobo3bobo104$26003b2o$26003bobo$26003bo6$
26003b2o$26003bobo$26003bo31$25963bo5bo$25962b2o4b2o$25962bobo3bobo
109$25996bo$25995b2o$25995bobo6$25996bo$25995b2o$25995bobo84$26009b3o$
26009bo$26010bo6$26009b3o$26009bo$26010bo82$26003b3o$26003bo$26004bo$
26009b2o$26000b2o7bobo$26000bobo6bo$26000bo15$26014b2o$26013b2o$26015b
o75$26038b2o4b2o$26037b2o4b2o$26039bo5bo97$26058bo5bo$26057b2o4b2o$
26057bobo3bobo42$26022b3o$26022bo$26023bo6$26022b3o$26022bo$26023bo75$
26029bo$26028b2o$26028bobo6$26029bo$26028b2o$26028bobo29$25988bo$
25987b2o$25987bobo6$25988bo$25987b2o$25987bobo117$26034b2o$26033b2o$
26035bo6$26034b2o$26033b2o$26035bo6$25967b3o3b3o$25967bo5bo$25968bo5bo
162$26050b3o3b3o$26050bo5bo$26051bo5bo68$26043b2o$26042b2o$26044bo6$
26043b2o$26042b2o$26044bo7$25978b2o4b2o$25978bobo3bobo$25978bo5bo115$
26017b3o$26017bo$26018bo6$26017b3o$26017bo$26018bo115$26061b3o$26061bo
$26062bo6$26061b3o$25990b3o68bo$25990bo71bo$25991bo6$25990b3o$25990bo$
25991bo122$25964b2o$25963b2o$25965bo$26046b3o$26046bo$26047bo3$25964b
2o$25963b2o$25965bo$26046b3o$26046bo$26047bo158$26056bo$26055b2o$
26055bobo6$26056bo$26055b2o$26055bobo22$26007b2o$26007bobo$26007bo6$
26007b2o$26007bobo$26007bo100$26037bo$26036b2o$26036bobo6$26037bo$
26036b2o$26036bobo9$25974b3o$25974bo$25975bo6$25974b3o$25974bo$25975bo
77$25983b2o$25982b2o$25984bo6$25983b2o$25982b2o$25984bo100$26012b2o$
26012bobo$26012bo6$26012b2o$26012bobo$26012bo57$25996b3o3b3o$25996bo5b
o$25997bo5bo46$25969bo$25968b2o$25968bobo6$25969bo$25968b2o$25968bobo
126$26022b2o4b2o$26022bobo3bobo$26022bo5bo104$26050b2o$26050bobo$
26050bo6$26050b2o$26050bobo$26050bo52$26029b2o4b2o$26029bobo3bobo$
26029bo5bo108$26059b2o4b2o$26059bobo3bobo$26059bo5bo58$26040b2o4b2o$
26040bobo3bobo$26040bo5bo25$25989b2o$25988b2o$25990bo6$25989b2o$25988b
2o$25990bo58$25976b2o$25975b2o$25977bo6$25976b2o$25975b2o$25977bo135$
26026bo$26025b2o$26025bobo2$26031b2o$26022b2o6b2o$26021b2o9bo$26023bo
15$26035b3o$26035bo$26036bo18$26001b3o3b3o$26001bo5bo$26002bo5bo88$
26012b2o4b2o$26012bobo3bobo$26012bo5bo42$25959b3o$25959bo$25960bo$
25965b2o$25956b2o7bobo$25956bobo6bo$25956bo15$25970b2o$25969b2o$25971b
o59$25981bo$25980b2o$25980bobo6$25981bo$25980b2o$25980bobo55$25965bo$
25964b2o$25964bobo6$25965bo$25964b2o$25964bobo102$25995b3o$25995bo$
25996bo6$25995b3o$25995bo$25996bo127$26051b2o4b2o$26050b2o4b2o$26052bo
5bo43$26017b3o$26017bo$26018bo6$26017b3o$26017bo$26018bo96$26046bo$
26045b2o$26045bobo6$26046bo$26045b2o$26045bobo49$26023b2o$26023bobo$
26023bo6$26023b2o$26023bobo$26023bo103$26056b3o$26056bo$26057bo6$
26056b3o$26056bo$26057bo21$26009bo$26008b2o$26008bobo6$26009bo$26008b
2o$26008bobo93$26029b2o4b2o$26029bobo3bobo$26029bo5bo39$25990b3o$
25990bo$25991bo6$25990b3o$25990bo$25991bo140$26062b2o$26061b2o$26063bo
6$26062b2o$26061b2o$26063bo$25975b2o$25974b2o$25976bo$25981bo$25972bo
7b2o$25971b2o7bobo$25971bobo15$25985b2o$25985bobo$25985bo40$25975b2o$
25975bobo$25975bo6$25975b2o$25975bobo$25975bo104$25992b2o$25992bobo$
25992bo2$25997b3o$25988b3o6bo$25988bo9bo$25989bo14$26003bo$26002b2o$
26002bobo85$26034b3o3b3o$26034bo5bo$26035bo5bo9$25968b2o$25968bobo$
25968bo6$25968b2o$25968bobo$25968bo81$25981bo$25980b2o$25980bobo6$
25981bo$25980b2o$25980bobo87$25995bo5bo$25994b2o4b2o$25994bobo3bobo94$
26012bo5bo$26011b2o4b2o$26011bobo3bobo92$26024b2o4b2o$26024bobo3bobo$
26024bo5bo104$26049b3o3b3o$26049bo5bo$26050bo5bo44$26018b3o$26018bo$
26019bo6$26018b3o$26018bo$26019bo97$26043b2o4b2o$26042b2o4b2o$26044bo
5bo95$26061bo5bo$25984bo75b2o4b2o$25983b2o75bobo3bobo$25983bobo6$
25984bo$25983b2o$25983bobo117$26029b2o4b2o$26028b2o4b2o$26030bo5bo87$
26037b2o4b2o$26037bobo3bobo$26037bo5bo41$26003bo$26002b2o$26002bobo6$
26003bo$26002b2o$26002bobo121$25970b3o3b3o75b2o$25970bo5bo77bobo$
25971bo5bo76bo6$26054b2o$26054bobo$26054bo84$25987b3o$25987bo$25988bo
6$25987b3o$25987bo$25988bo75$25992b3o$25992bo$25993bo6$25992b3o$25992b
o$25993bo85$26006b2o4b2o$26005b2o4b2o$26007bo5bo93$26020b3o3b3o$26020b
o5bo$26021bo5bo100$26043b3o$26043bo$26044bo6$26043b3o$26043bo$26044bo
5$25978bo5bo$25977b2o4b2o$25977bobo3bobo95$25998bo$25997b2o$25997bobo
6$25998bo$25997b2o$25997bobo107$26031b2o4b2o$26031bobo3bobo$26031bo5bo
10$25963b2o4b2o$25963bobo3bobo$25963bo5bo175$26062bo5bo$26061b2o4b2o$
26061bobo3bobo30$26013b2o4b2o$26013bobo3bobo$26013bo5bo120$26055b2o4b
2o$26055bobo3bobo$26055bo5bo4$25982b3o$25982bo$25983bo6$25982b3o$
25982bo$25983bo133$26028b2o$26027b2o$26029bo$26034bo$26025bo7b2o$
26024b2o7bobo$26024bobo15$26038b2o$26038bobo$25987b3o48bo$25987bo$
25988bo6$25987b3o$25987bo$25988bo133$25970b2o4b2o71b2o4b2o$25969b2o4b
2o71b2o4b2o$25971bo5bo72bo5bo129$26023bo$26022b2o$26022bobo6$26023bo$
26022b2o$26022bobo72$26006b3o$26006bo$26007bo$26012b2o$26003b2o7bobo$
26003bobo6bo$26003bo15$26017b2o$26016b2o$26018bo61$26028b2o$26028bobo$
26028bo6$26028b2o$26028bobo$26028bo40$25998b3o$25998bo$25999bo6$25998b
3o$25998bo$25999bo106$26034b2o$26033b2o$26035bo6$26034b2o$26033b2o$
26035bo44$26007bo5bo$26006b2o4b2o$26006bobo3bobo35$25967bo$25966b2o$
25966bobo6$25967bo$25966b2o$25966bobo164$26057b3o3b3o$26057bo5bo$
26058bo5bo28$25991b3o$25991bo$25992bo$25997b2o$25988b2o7bobo$25988bobo
6bo$25988bo15$26002b2o$26001b2o$26003bo31$25983b3o$25983bo$25984bo6$
25983b3o$25983bo$25984bo71$25968b2o$25967b2o$25969bo$25974bo$25965bo7b
2o$25964b2o7bobo$25964bobo15$25978b2o$25978bobo$25978bo62$25988b3o$
25988bo$25989bo6$25988b3o$25988bo$25989bo74$25993b3o$25993bo$25994bo6$
25993b3o$25993bo$25994bo88$26011b3o$26011bo$26012bo6$26011b3o$26011bo$
26012bo100$26040b2o4b2o$26040bobo3bobo$26040bo5bo9$25969b3o3b3o$25969b
o5bo$25970bo5bo156$26047b3o3b3o$26047bo5bo$26048bo5bo81$26053b3o$
26053bo$26054bo6$26053b3o$26053bo$26054bo32$26015b2o$26015bobo$26015bo
6$26015b2o$26015bobo$26015bo78$26021b3o3b3o$26021bo5bo$26022bo5bo86$
26032bo$26031b2o$26031bobo6$26032bo$26031b2o$26031bobo82$25964b2o$
25963b2o$25965bo6$25964b2o$25963b2o$25965bo6$26061bo$26060b2o$26060bob
o6$26061bo$26060b2o$26060bobo98$26005b2o4b2o$26005bobo3bobo$26005bo5bo
50$25979bo5bo$25978b2o4b2o$25978bobo3bobo137$26037b3o$26037bo$26038bo
6$26037b3o$26037bo$26038bo5$25973b3o$25973bo$25974bo6$25973b3o$25973bo
$25974bo82$25985b3o$25985bo$25986bo6$25985b3o$25985bo$25986bo92$25991b
o$25990b2o$25990bobo2$25996b2o$25987b2o6b2o$25986b2o9bo$25988bo15$
26000b3o$26000bo$26001bo91$26042b3o$26042bo$26043bo6$26042b3o$26042bo$
26043bo23$25994b2o4b2o$25993b2o4b2o$25995bo5bo93$26011bo$26010b2o$
26010bobo6$26011bo$26010b2o$26010bobo78$26017bo5bo$26016b2o4b2o$26016b
obo3bobo87$26026bo5bo$26025b2o4b2o$26025bobo3bobo84$26032b3o$26032bo$
26033bo6$26032b3o$26032bo$26033bo92$26055bo5bo$26054b2o4b2o$26054bobo
3bobo86$26061b2o4b2o$26061bobo3bobo$26061bo5bo42$26011b2o$26011bobo$
26011bo2$26016b3o$26007b3o6bo$26007bo9bo$26008bo12$25964b2o4b2o$25964b
obo3bobo$25964bo5bo51bo$26021b2o$26021bobo167$26040b2o$26040bobo$
26040bo2$26045b3o$26036b3o6bo$26036bo9bo$26037bo6$25988b2o4b2o$25987b
2o4b2o$25989bo5bo6$26051bo$26050b2o$26050bobo125$26044b2o4b2o$26043b2o
4b2o$26045bo5bo10$25977b2o$25976b2o$25978bo6$25977b2o$25976b2o$25978bo
62$25969b3o$25969bo$25970bo6$25969b3o$25969bo$25970bo83$25983bo$25982b
2o$25982bobo6$25983bo$25982b2o$25982bobo86$25996b3o3b3o$25996bo5bo$
25997bo5bo83$26003b2o$26003bobo$26003bo6$26003b2o$26003bobo$26003bo65$
25982b2o$25981b2o$25983bo$25988bo$25979bo7b2o$25978b2o7bobo$25978bobo
15$25992b2o$25992bobo$25992bo87$26028b2o$26028bobo$26028bo6$26028b2o$
26028bobo$26028bo101$26056b3o3b3o$26056bo5bo$26057bo5bo57$26037bo5bo$
26036b2o4b2o$26036bobo3bobo102$26062b3o$26062bo$26063bo6$26062b3o$
26062bo$26063bo47$26022b2o$26022bobo$26022bo2$26027b3o$26018b3o6bo$
26018bo9bo$26019bo14$26033bo$26032b2o$26032bobo76$26043bo$26042b2o$
26042bobo2$26048b2o$26039b2o6b2o$26038b2o9bo$26040bo15$26052b3o$26052b
o$26053bo4$26006b3o$26006bo$26007bo6$26006b3o$26006bo$26007bo112$
26047b3o$26047bo$26048bo6$26047b3o$26047bo$26048bo37$26012b3o3b3o$
26012bo5bo$26013bo5bo50$25987b2o$25986b2o$25988bo6$25987b2o$25986b2o$
25988bo60$25979bo$25978b2o$25978bobo6$25979bo$25978b2o$25978bobo135$
26042b2o$26042bobo$26042bo2$25967b2o$25967bobo$25967bo2$26042b2o$
26042bobo$26042bo2$25967b2o$25967bobo$25967bo123$26018b2o4b2o$26017b2o
4b2o$26019bo5bo38$25963bo$25962b2o$25962bobo2$25968b2o$25959b2o6b2o$
25958b2o9bo$25960bo15$25972b3o$25972bo$25973bo68$25992b2o$25992bobo$
25992bo6$25992b2o$25992bobo$25992bo76$25998b2o$25997b2o$25999bo6$
25998b2o$25997b2o$25999bo132$26058b3o$26058bo$25982b2o75bo$25982bobo$
25982bo4$26058b3o$26058bo$25982b2o75bo$25982bobo$25982bo138$26048b2o4b
2o$26048bobo3bobo$26048bo5bo62$26030b3o3b3o$26030bo5bo$26031bo5bo47$
26002b2o$26001b2o$26003bo6$26002b2o$26001b2o$26003bo76$26007b2o4b2o$
26007bobo3bobo$26007bo5bo132$26062b3o$26062bo$26063bo6$26062b3o$26062b
o$26063bo34$26025b2o4b2o$26024b2o4b2o$26026bo5bo88$26036b3o$26036bo$
26037bo6$26036b3o$26036bo$26037bo20$25986b2o$25985b2o$25987bo6$25986b
2o$25985b2o$25987bo61$25976b3o$25976bo$25977bo6$25976b3o$25976bo$
25977bo106$26012b3o$26012bo$26013bo6$26012b3o$26012bo$26013bo47$25992b
o$25991b2o$25991bobo6$25992bo$25991b2o$25991bobo96$26017b2o$26016b2o$
26018bo6$26017b2o$26016b2o$26018bo99$26043b2o4b2o$26043bobo3bobo$
26043bo5bo10$25960b3o$25960bo$25961bo$25966b2o$25957b2o7bobo$25957bobo
6bo$25957bo15$25971b2o$25970b2o$25972bo52$25956b2o$25955b2o$25957bo$
25962bo$25953bo7b2o$25952b2o7bobo$25952bobo15$25966b2o$25966bobo$
25966bo137$26051b2o4b2o$26050b2o4b2o$26052bo5bo5$25979b3o$25979bo$
25980bo6$25979b3o$25979bo$25980bo89$25999bo$25998b2o$25998bobo6$25999b
o$25998b2o$25998bobo79$26006b2o4b2o$26006bobo3bobo$26006bo5bo94$26024b
o$26023b2o$26023bobo6$26024bo$26023b2o$26023bobo86$26036b3o3b3o$26036b
o5bo$26037bo5bo66$26028b2o$26028bobo$26028bo6$26028b2o$26028bobo$
26028bo28$25985bo5bo$25984b2o4b2o$25984bobo3bobo132$26022b2o$26021b2o$
26023bo$26028bo$26019bo7b2o$26018b2o7bobo$26018bobo15$26032b2o$26032bo
bo$26032bo30$26011b3o$26011bo$26012bo6$26011b3o$26011bo$26012bo30$
25973b2o$25972b2o$25974bo6$25973b2o$25972b2o$25974bo115$26017b2o$
26017bobo$26017bo6$26017b2o$26017bobo$26017bo45$25990b3o3b3o$25990bo5b
o$25991bo5bo89$26003b2o$26002b2o$26004bo6$26003b2o$26002b2o$26004bo32$
25963b2o4b2o$25962b2o4b2o$25964bo5bo89$25977b2o$25977bobo$25977bo6$
25977b2o$25977bobo$25977bo100$26007b2o$26006b2o$26008bo6$26007b2o$
26006b2o$26008bo92$26026b2o4b2o$26026bobo3bobo$26026bo5bo36$25984b3o3b
3o$25984bo5bo$25985bo5bo103$26011b2o$26010b2o$26012bo6$26011b2o$26010b
2o$26012bo88$26012b2o$26011b2o$26013bo$26018bo$26009bo7b2o$26008b2o7bo
bo$26008bobo13$25970bo$25969b2o$25969bobo50b2o$26022bobo$26022bo4$
25970bo$25969b2o$25969bobo99$25996bo5bo$25995b2o4b2o$25995bobo3bobo58$
25979bo$25978b2o$25978bobo6$25979bo$25978b2o$25978bobo83$25989b3o$
25989bo$25990bo6$25989b3o$25989bo$25990bo50$25953b3o$25953bo$25954bo$
25959b2o$25950b2o7bobo$25950bobo6bo$25950bo15$25964b2o$25963b2o$25965b
o66$25962b3o$25962bo$25963bo$25968b2o$25959b2o7bobo$25959bobo6bo$
25959bo15$25973b2o$25972b2o$25974bo81$26003b2o$26002b2o$26004bo6$
26003b2o$26002b2o$26004bo82$26014b2o4b2o$26013b2o4b2o$26015bo5bo46$
25983b2o$25983bobo$25983bo6$25983b2o$25983bobo$25983bo85$25998b2o$
25997b2o$25999bo6$25998b2o$25997b2o$25999bo80$26009bo$26008b2o$26008bo
bo6$26009bo$26008b2o$26008bobo31$25969b2o$25968b2o$25970bo6$25969b2o$
25968b2o$25970bo92$25990b2o4b2o$25990bobo3bobo$25990bo5bo64$25977b3o$
25977bo$25978bo6$25977b3o$25977bo$25978bo62$25953b2o$25952b2o$25954bo$
25959bo$25950bo7b2o$25949b2o7bobo$25949bobo15$25963b2o$25963bobo$
25963bo81$25975b3o$25975bo$25976bo$25981b2o$25972b2o7bobo$25972bobo6bo
$25972bo15$25986b2o$25985b2o$25987bo64$26000b3o$26000bo$26001bo6$
26000b3o$26000bo$26001bo64$25995b2o$25994b2o$25996bo6$25995b2o$25994b
2o$25996bo47$25971bo5bo$25970b2o4b2o$25970bobo3bobo87$25979bo5bo$
25978b2o4b2o$25978bobo3bobo62$25962b3o3b3o$25962bo5bo$25963bo5bo102$
25986b2o4b2o$25985b2o4b2o$25987bo5bo78$25971b3o$25971bo$25972bo$25977b
2o$25968b2o7bobo$25968bobo6bo$25968bo15$25982b2o$25981b2o$25983bo38$
25967b2o4b2o$25967bobo3bobo$25967bo5bo92$25967bo$25966b2o$25966bobo2$
25972b2o$25963b2o6b2o$25962b2o9bo$25964bo15$25976b3o$25976bo$25977bo
51$25961b3o$25961bo$25962bo$25967b2o$25958b2o7bobo$25958bobo6bo$25958b
o15$25972b2o$25971b2o$25973bo49$25953b2o$25952b2o$25954bo$25959bo$
25950bo7b2o$25949b2o7bobo$25949bobo15$25963b2o$25963bobo$25963bo!

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Splitters with common SL

Post by simsim314 » December 24th, 2014, 3:03 am

chris_c wrote:Anyway, I have updated my script to calculate glider based inserters.
What will happen if we will add say 20-30 (pretty good) recipes, using 3-5 gliders. Then instead of giving each recipe all the combinations they work in as input dictionary, we just add to the current "glider list" a recipe, evolve it, and see if it works. We will start from 3 to 5 gliders recipes, if some recipe is working we just continue to the next glider. Obviously we can add the clock recipe as last resort.

My guess is that combined power of all 3-5 gliders recipes is enough, at least for 99% of cases.

Another place to improvement will be to optimize the insertion order. This might also be considered last resort - if no 3-5 recipe worked, we try to change the insertion order around that particular glider, and see if this helps.

My guess is if we do all that - the chances we will need a clock inserter will go down to be very low if any.

chris_c
Posts: 966
Joined: June 28th, 2014, 7:15 am

Re: Splitters with common SL

Post by chris_c » December 24th, 2014, 11:04 am

simsim314 wrote: What will happen if we will add say 20-30 (pretty good) recipes, using 3-5 gliders.
Ok, I added a couple more 4 glider inserters. They have a larger set of exceptions but the exceptions are distinct from the exceptions of the other 4 glider inserter. The clock inserter usage in the Borg Salvo drops to 6.5% after this change.

Here are the inserters:

Code: Select all

x = 68, y = 29, rule = B3/S23
3$10bo$8bobo25bo$9b2o26b2o$36b2o2$4bobo$5b2o$5bo2$42bobo$43b2o$43bo6$
22bo$21b2o28b2o$21bobo27bobo9b2o$27bo23bo10b2o$26b2o36bo$26bobo!
Here are the new recipe definitions:

Code: Select all

# recipe3 is perfect on lane 2 so the dict entry for 2 is useless but harmless

recipe3 = [g.parse('2bo$obo$b2o!', -16, 1),
           g.parse('3o3b3o$o5bo$bo5bo!', -5, 15),
           {-8: 2, -7: 5, -6: 8, -5: 10, -4: 12, -3: 14, -2: 15, -1: 15,
             0: 15, 1: 15, 2: 14, 3: 14,  4: 14,  5: 13,  6: 11,  7:  9 }]

# recipe4 seems like a good compromise between cost and quality

recipe4 = [g.parse('2bo$obo$b2o2$8bo$9b2o$8b2o!', -15, 2),
           g.parse('2o$obo$o6$2o$obo$o!', -3, 14),
           {4: 12, 5: 12, 6: 10}]


# two more 4 glider recipes that have larger exceptions sets that
# are distinct from the first

recipe4a = [g.parse('4bobo$5b2o$5bo2$bo$2bo$3o!', -26, 2),
            g.parse('3o$o$bo$5b3o$5bo$6bo!', -7, 22),
            {-10: -3, -9: 3, -8: 5, -7: 7, -6: 9, -5: 10, -4: 12}]

recipe4b = [g.parse('o$b2o$2o6$6bobo$7b2o$7bo!', -36, 14),
            g.parse('2o$obo9b2o$o10b2o$13bo!', -19, 33),
            {-7: 8, -6: 10, -5: 12, -4: 14, -3: 14, -2: 15, -1: 15, 0: 15, 1: 15}]

# recipe8 is perfect for our selection algorithm, no dict entries needed

recipe8 = [g.parse('obo$b2o$bo8$23bo$14bo9bo$15bo6b3o$13b3o2$20bo$18bobo$19b2o!', -43, 2),
           g.parse('4b2o$4bobo$4bo2$9b3o$3o6bo$o9bo$bo14$15bo$14b2o$14bobo!', -18, 20),
           {}]


all_recipes = [recipe3, recipe4, recipe4a, recipe4b, recipe8]
And here is the latest Borg duplication:

Code: Select all

x = 26206, y = 26050, rule = B3/S23
26156bo$26106bo4bo7bobo2bobo5bo3bo4bo4bobo6bo4bobo5bo8bo3bobo10bo$
26105bo5bobo5b2o3b2o4b2o4bobo2bobo2b2o7b3o2b2o6bobo5bo4b2o3bo5b2o$
21596bo1037bo1199bo719bo320bo1229b3o3b2o7bo4bo5b2o3b2o3b2o4bo3bo9bo6b
2o6b3o3bo3bobo4b2o7bo$21597bo552bo484b2o313bo237bo480bo165b2o631bobo
84b2o319bo313bo86bo157bobo677bobo33bobo32b2o14bobo$20877bo717b3o550bob
o483b2o315bo237b2o479b2o162b2o633b2o83b2o318b3o152bobo156bobo87bo157b
2o79bo597b2o9bo19bo4b2o11bo31bo5b2o$20875bobo1271b2o798b3o236b2o479b2o
88bo709bo560b2o157b2o85b3o157bo81bo597bo8bo13bobo3bo16b2o4bo11bobo13bo
bo$20876b2o400bo2481bo1269bo485b3o588bo17b3o5bo5b2o4b3o10bo4b2o2bo12b
2o8bo5b2o$21279b2o2477b3o292bo411bo894bo745bo25bo7bo17bobo6b3o2bobo6bo
4bo2bo11bo$20883bo394b2o401bo462bobo413bo384bo95bo143bo480bo387bo411bo
254bo304bo157bobo174bo744b3o10bo12b3o23b2o12b2o10b2o3b3o9bobo$19763bo
1120b2o793bobo161bo301b2o414b2o383b2o91bobo141bobo416bo61bobo385b3o
179bobo85bo141b3o255b2o238bo64bo157b2o172b3o752bo4bobo28bobo20bo11b2o
10bo3b2o$19761bobo640bo478b2o401bo393b2o159bobo301bo414b2o383b2o93b2o
142b2o417bo61b2o98bobo467b2o86b2o290bo105b2o237bobo62b3o95bo61bo927bo
5b2o19bobo2bo4b2o18bo9bobo13bo$19762b2o641bo881bo554b2o640bo1116b3o
162b2o467bo86b2o292bo344b2o161bo988b3o11bo12b2o3bobo3bo9bo6b2o10b2o14b
3o$19526bo876b3o879b3o399bo797b2o81bo478bo718bo397bo449b3o112bo75bo
316b3o241bobo736bobo17b2o5bobo6bo3b2o9bo2b2o8b2o6bo3bo6bo$19524bobo
1971bo189b2o237bo556b2o83bo478b2o1115b2o64bo498bo72bobo561b2o736b2o10b
obo6b2o4b2o20b2o4b2o13b2o10bo$18327bo1197b2o719bobo317bo929bobo188b2o
239bo638b3o236bobo238b2o317bobo239bobo553b2o66bo495b3o73b2o561bo738bo
6bo3b2o14bo3bobo8bo6b2o7bo11b2o9b3o11bo$18328b2o1917b2o318b2o928b2o
427b3o878b2o558b2o77bobo160b2o397bo221b3o896bobo980bo5bo3bobo12b2o9bob
o13bobo2bo27bo2bo$18327b2o879bo1038bo318b2o1440bobo796bo559bo79b2o160b
o396bobo1121b2o980b3o7b2o14bo9b2o14b2o3bobo12bo10b2o3b3o$19209b2o1279b
o639bo878b2o210bo1225bo559b2o402bo718bo972bobo17bo19bo10bo14b2o8bobo2b
obo4bo4b2o$18252bo798bo156b2o1281b2o638bo801bobo73bo212b2o187bo963bo
549bo148bo334bobo1691b2o22bobo13bobo6b2o19bo5b2o3b2o5bobo$17131bo1118b
obo799b2o1118bo317b2o637b3o802b2o285b2o189bo719bo240bobo550bo138bo9b2o
333b2o1692bo22b2o5bo8b2o8b2o6bo11bobo4bo10b2o$17132b2o1117b2o798b2o
163bo956bo1760bo82bo392b3o720bo240b2o157bo390b3o139b2o6b2o2033bo7bobo
8bo5bobo10bo13bobo5bo3b2o13bo$17131b2o1521bo240bo321bo953b3o324bo233bo
bo79bo1200bobo77bo1035b3o400bo530b2o569bo1471bo8b2o15b2o11bobo11b2o4b
2o17b2o$17295bo962bo396b2o239bo162bo155b3o1281bo233b2o80bo320bobo877b
2o78bo1435b3o1092bo9b2o1464bobo2b3o7bo5bobo11bo8b2o19b2o17b2o13bobo$
16337bo958b2o961b2o393b2o238b3o163bo636bo799b3o233bo79b3o321b2o75bobo
877b3o320bobo1500bo149bobo555b2o6b2o1465b2o19b2o6bo5bobo10bo23bo26b2o$
16335bobo957b2o961b2o798b3o637bo1438bo77b2o301bobo897b2o316bobo399bobo
155bo624b2o148b2o554b2o1475bo20bo4b2o6b2o11bobo2bo18bobo18bo6bo$15698b
o637b2o1119bo1040bo163bo1033b3o1042bo316bo156bo293bobo7b2o897bo318b2o
400b2o156b2o240bobo378b2o149bo2037bo9bo11b2o10bobo5b2o3bobo3bobo10b2o
6bo4bo7bobo$15699b2o1757b2o77bobo959bo163bo686bo108bo1279bobo317bo450b
2o7bo581bobo235bo397bo401bo156b2o242b2o1090bobo1472b2o5bo4bobo6bo14b2o
11b2o4b2o8bo9bo5bobo5b2o$15698b2o400bo1356b2o79b2o957b3o161b3o687b2o
107bo399bo879b2o315b3o450bo591b2o236bo1199bo1092b2o1473b2o4bobo2b2o5b
2o8bo7bo4bo13bo7bo10b3o3b2o$16101bo1436bo641bo1169b2o106b3o242bobo155b
2o1652bo266bo319bo141bo93b3o404bo1887bo1471bo8b2o11b2o5b2o11b2o22b3o4b
o14bo$15061bobo318bo323bo392b3o1363bo715b2o1521b2o154b2o1120bo533b2o
265bo451bo6bobo498bobo3357b2o17bobo10b2o6bo4b2o4bobo20bo15bobo$15062b
2o319bo323bo794bobo961bo713b2o322bobo1197bo398bo876bobo532b2o264b3o
449bobo7b2o499b2o3358b2o4bo11b2o6bo11bo11b2o7bo13b3o8bo4b2o7bo$15062bo
318b3o321b3o795b2o557bobo399b3o396bobo639b2o1594bobo877b2o402bo848b2o
3874bobo2bobo5bo6bobo9b3o10bo7bobo22bobo10bo$14023bobo1279bo1197bo559b
2o799b2o159bo162bo316bo80bo1438bo76b2o561bo720bo853bo630bo3238b2o3b2o
13b2o17bo13b2o9bo9bo3b2o11b3o$14024b2o131bo912bo235b2o558bo1196bo162bo
637bo161b2o161bo397bo1435bobo640bo321bo395b3o79bo321bobo450bo630bo
3243bo4bo27bobo8bo9bo3bobo5b2o$14024bo133b2o346bo561bobo234b2o81bobo
476bo643bo712bobo798b2o160b3o395b3o1436b2o83bo554b3o322b2o473bobo322b
2o448b3o628b3o3235bo10b2o17bo10b2o3bo3b2o8b2o4b2o7b2o10bo$14157b2o348b
2o560b2o318b2o474b3o641bobo477bo81bo153b2o645bo1115bo638bobo480b2o876b
2o475b2o322bo4317bo7bo4b2o6bobo6bo16bobo2b2o8b2o18bo5bobo$14032bo473b
2o805bo75bo1120b2o478bo78bobo315bobo480bobo160bo955bo638b2o401bo77b2o
239bo1040bobo4713b3o4bo13b2o7b3o7bo6b2o25bo5b2o6b2o5bo$14030bobo76bobo
1038bo163bo1566bo106b3o79b2o160bo155b2o481b2o161bo73bobo876b3o383bo
254bo403b2o317bo1040b2o4720b3o12bo16bo15bo12bo3b2o7b2o11bo$12831bo
1199b2o77b2o402bo76bo556bobo161b3o557bobo1007b2o349b2o153bo643b3o74b2o
1253bo6bobo657b2o316b3o1040bo4753b3o3bo4bo4bobo10bobo2b2o11bo7b3o$
12829bobo240bo1037bo404bo76b2o555b2o722b2o1006b2o349b2o875bo1201bobo
48bobo7b2o578bo6168bo3bobo7bo15bo5bobo2b2o5bo5b2o15bo$12830b2o238bobo
1440b3o75b2o961bo318bo800bo320bobo686bo746bobo560bobo315b2o49b2o585bob
o2925bo3233bo6b2o4b2o3bo4bobo5bo7b3o3b2o8b2o20bo2b3o3bo$13071b2o1045bo
1433bobo480bo639bo320b2o687b2o430bo314b2o561b2o315bo56bo581b2o2923bobo
3232bo8b2o4bo3bobo2b2o5bo25b2o17b2o8bo6bo$12837bo310bo806bo160bobo480b
o635bo317b2o481bo636b3o320bo687b2o429bobo314bo403bo158bo374bo3506b2o
3225bo6b3o16b2o10b3o28bobo4bo7b2o7b3o2b2o$11716bo1038bobo80b2o238bo67b
obo167bo639bo160b2o238bo242bo632bobo798b3o558bobo1518b2o716bobo483bo
47b3o6733bobo17bo48b2o3b2o13bo9b2o$10997bo716bobo1039b2o79b2o240b2o66b
2o168bo636b3o223bo174bobo240b3o633b2o324bo1035b2o1357bobo482bo286bobo
105b2o481bobo6783b2o16b2o29bo9bo10bo4b2o11bo$10998bo716b2o1039bo321b2o
235b3o853bo6bobo175b2o1203b2o875bo157bo83bobo154bobo1116b2o480bobo287b
2o426bobo160b2o6802b2o10bobo5bo5bo3bobo7bobo26b3o$10996b3o3170bobo7b2o
99bo719bo240bo318b2o479bobo395b2o240b2o155b2o1116bo482b2o287bo113bo
314b2o6953bo5bobo6bo7b2o5bo4b2o4b2o8b2o12bo4bobo18bo$12118bobo558bo84b
o377bobo816bobo206b2o109bo719bo240b2o798b2o394b2o164bo76bo156bo801bo
1202b2o312bo6949bo2b2o6b2o7bobo6bo5b3o3b2o7bo17b2o5b2o19bobo$11240bo
878b2o559b2o80bobo378b2o177bobo637b2o212bo102b3o717b3o239b2o799bo559bo
bo299bo733bobo323bo877b2o7261b2o4b2o6bo7b2o28bobo10bo5b2o5bo8bo10b2o$
10361bobo877b2o400bo475bo559b2o82b2o228bobo147bo179b2o156bobo478bo214b
o2023bo244bo156b2o290bo6bobo734b2o162bo158bobo1200bo6940b2o14bo9bo24b
2o4bo6bobo13bo4bo6bobo$10362b2o876b2o402bo1349b2o327bo158b2o319bo371b
3o665bo637bobo718b2o243bo445bobo7b2o899bo158b2o1198bobo6956bobo7bobo8b
o18bo7b2o14bobo2b3o4b2o$9803bobo556bo1279b3o482bo866bo487bo321bo1039bo
637b2o717b2o81bo160b3o316bo129b2o750bo60bo94b3o1359b2o6945bo10b2o3bo4b
2o7b2o9bobo7b3o12bo8b2o11bo$9804b2o880bo879bo558bobo1674b3o1037b3o637b
o323bo475bobo480b2o133bo746b2o49bo6bobo8395bobo4bo16bobo8bo3b2o8b2o21b
2o4bo14bo$9804bo882bo879bo558b2o478bo383bo499bo155bo2160bo401bo73b2o
479b2o135bo744b2o48bobo7b2o8395b2o5b3o5bobo6b2o7b2o15bo4bo11bo5b2o3bob
o6bo3b2o5bo$9087bo1439bo157b3o877b3o81bobo233bobo719b2o382bo496bobo
153bobo773bo267bo801bo314b3o402bo688b3o795b2o110bobo938bo7353bo13b2o3b
o13b2o9bo9bobo9bobo8b2o6bo5b2o4bobo$8528bo556bobo724bo715bo1121b2o234b
2o718b2o381b3o417bo79b2o154b2o162bobo609bo267bo798bobo717b3o1492bo106b
2o929bo9bo7367bo3bobo20b2o10b2o5bo4b2o17b3o9b2o$8529b2o555b2o395bo326b
obo713b3o639bobo479bo235bo483bo1039bo399b2o607b3o265b3o799b2o157bobo
318bo1734bo105bo931bo6b3o7361bo9b2o3bo18b2o16bobo8bo9bo$8528b2o951bobo
87bo239b2o879bobo474b2o318bobo80bobo796bo158bo877b3o241bo157bo1120bo
717b2o161bobo155bo1731b3o1035b3o7362bo7bobo12bobo7bo26b2o8bo8b2o$9482b
2o88bo1120b2o474bo320b2o81b2o319bo474b3o159bo1121b2o1274bobo717bo163b
2o153b3o10134bobo5b2o4bobo6b2o3bo4bobo34b3o7b2o6bo6bo$7252bo960bo322bo
875bo157b3o960bobo157bo796bo82bo318bobo634b3o400bo719b2o1276b2o881bo
2933bo7357b2o12b2o12bobo2b2o14bo7bo8bo19b2o7bobo$7253bo960bo158bo163bo
875bo640bo479b2o641bo715b2o1035bobo799bobo1038bo883bo3087bobo7361bo10b
o4bo7b2o7bo11bobo4bo7b2o21b2o6b2o$7251b3o958b3o159b2o159b3o797bo75b3o
63bobo575bo478bo320bo319bobo1198bobo552b2o800b2o157bobo879bo162bo717bo
bo317bobo2768b2o7361bobo13bobo14bobo2bobo4b2o5b3o6b2o24bo$8373b2o961bo
141b2o97bobo473b3o800bo319b2o238bo637bobo320b2o1354bo159b2o877b3o163b
2o716b2o318b2o10131b2o5bobo6b2o15b2o3b2o29bo6bo10bobo$6857bo1279bo
1196b3o141bo99b2o47bo267bo958b3o557bobo638b2o320bo1515bo1043b2o1037bo
10139b2o30bo8bo20bobo2b2o6bo4b2o$6858bo1279bo80bobo1196bobo157bo49b2o
266b2o1517b2o560bo77bo1522bo162bo12365bo9bo5bo12bo14bo5bobo3bo8bo5b2o
4b2o4bo10bobo$6856b3o78bo1198b3o81b2o1197b2o206b2o266b2o163bobo1915bo
317bobo1280bo159bobo699bo11664bo14b2o7bo3b2o6bo8bobo3b2o2b2o9bobo15b3o
8b2o$6938b2o1280bo1120bobo75bo641b2o127bo908bo876b3o318b2o160bo1117b3o
160b2o690bo9b2o11662b3o13b2o4b2o5b2o3b2o4bo4b2o9b2o4bo3b2o28bo$6937b2o
960bobo1359bo80b2o717bo129b2o907bo1196bo159bobo800bo1172b2o6b2o11671bo
4bo9b2o10b2o3bobo6bo11bo15bo10bo$5502bo1276bobo81bobo233bobo798b2o152b
o88bobo315bo800bo79bo847b2o107bobo796b3o1357b2o801b2o1169b2o11678b2o3b
2o27b2o6bo12b3o8bobo2bobo7bo$5500bobo1277b2o82b2o79bo154b2o798bo154bo
88b2o316bo797b3o1037b2o2958b2o322bobo12526b2o3b2o12bobo3bo15b3o16bobo
2b2o3b2o8b3o5bobo$5501b2o1277bo83bo81bo153bo952b3o88bo315b3o1680bo156b
o1042bo2241b2o850bobo11686bobo3b2o3bo13bo11bo9b2o4bo21b2o$5663bobo
1278b3o1917bo1276bobo1200bo480bo397bo1044bo316bo852b2o11666bobo13bo3b
2o5bo3b3o3bo5b2o11bo11bo27bo$5508bo155b2o852bo187bo81bo2073bobo402bobo
714bo157b2o164bo1033b3o478bobo398b2o1043bo1168bo11667b2o3bo4bo4bo5bo
14bo7b2o10b3o26bo$5509b2o153bo80bo770bobo185bobo79bobo1260bo737bo75b2o
403b2o715b2o319bobo1515b2o397b2o1042b3o12837bo3bobo2bobo2b3o8bo9b3o12b
obo12bo16b2o5bo$3821bo1686b2o236b2o769b2o186b2o80b2o1036bobo222b2o733b
obo480bo381bo333b2o163bo157b2o15802b2o3b2o13bo25b2o11b2o9bo8b2o4bobo$
3819bobo79bo406bo720bo642bo72b2o881bo1118bo78b2o221b2o735b2o82bo770bo
6bobo499b2o314bobo320bo559bobo479bo14293bobo3b3o12bo11bo3bo8b2o8bobo
12b2o4bobo$3820b2o80b2o405bo717bobo640bobo953bobo1119b2o76bo1044b2o
317bo448bobo7b2o341bo156b2o316b2o321bo559b2o480b2o14271bo13bo5b2o10bob
o6bobo12bo4bobo12b2o19b2o$3901b2o404b3o718b2o241bo399b2o80bo873b2o
1118b2o959bobo159b2o319bo448b2o351bo219bo253bo320b3o159bo399bo480b2o
14270b2o7bobo4bobo4bo10b2o7b2o13b3o2b2o9bo11bo13bo$4390bo878bobo482bo
237bo1677bo163bo874b2o478b3o454bo344b3o210bo6bobo737b2o15151b2o6b2o5b
2o11bo5bo15bo12bo4bo4bobo8bo10bo$2630bobo1040bo141bobo573b2o642bo156bo
77b2o480b3o238bo640bo688bobo345b2o159bobo874bo937bo554bobo7b2o736b2o
15161bo16b2o9bobo9bo18bobo2b2o3bo5b3o7bo$2631b2o320bo720bo141b2o80bo
415bobo73b2o644b2o155b2o796b3o641b2o687b2o344b2o161b2o478bo719bo611b3o
555b2o15905bo6bo7bobo3b2o8b2o10b3o12bo3b2o8bobo8bo4b3o$2631bo322b2o
716b3o141bo79bobo416b2o718b2o155b2o83bo556bo799b2o688bo269bo719bo402bo
313bobo721bo453bo15894bo3b2o6bo8b2o15bo5bo18bo14b2o9bobo$2953b2o240bo
701b2o255bobo158bo82bo395bo483b2o552bobo1760bo400bo315b3o400bobo314b2o
719bobo454bo15893bobo2b2o5b3o7bo12bo8bobo9bo6b3o23b2o$3196b2o957b2o
242bo317bo77b2o403bo76b2o43bo510b2o163bobo537bobo1052b3o401bo718b2o
239bo796b2o452b3o391bo15501b2o26bo4b2o9b2o8b2o13bo27bo$1729bo346bobo
479bo402bo233b2o482bobo473bo241b3o318bo75b2o405bo118bobo676b2o476bo51b
obo7b2o1454b3o960bo1644bo15509bo17bo6b2o12bo6b2o11bo13bo12b2o$1730b2o
345b2o477bobo403bo717b2o1034b3o480b3o119b2o114bobo559bo475bobo52b2o7bo
1779bobo634b3o1642b3o15509bobo3bo6bo4b3o18bobo17b3o2bobo4b2o5bo8b2o$
1729b2o346bo479b2o241bo159b3o634bobo80bo482bo638bo635b2o1036b2o52bo
1069bobo717b2o17781bobo2bobo2b2o2b2o6bo21bo4b2o23b2o6b2o3bo4bobo$1652b
o1145bobo797b2o561bobo76bo562bo634bo880bo215bo503bobo559b2o399bobo315b
o318bobo17461b2o3b2o8b2o5b3o19bobo6bobo8bo10bo11b3o2b2o$1653b2o430bo
236bo241bo234b2o721bo75bo563b2o77bo559b3o1516b2o161bo52b2o502b2o479bo
79bo401b2o635b2o321bobo17138bo4bo32bobo2b2o7b2o7b2o5bo9bo13bo5bo$935bo
265bo450b2o267bobo159bobo234bobo242b2o956bo715b3o2077b2o163b2o49b2o
503bo152bobo150bo175b2o479bo636bo323b2o17157bo5bo12b2o7bo5bo8b2o3bo9bo
5bo14bobo$933bobo266b2o718b2o160b2o235b2o241b2o955b3o82bo476bo478bobo
763bo1154b2o709b2o141bo9bo95bo77b2o1441bo17152bo4bo6bobo4bobo4bo7bobo
17b3o7b3o3bobo4bo3bo3b2o$934b2o265b2o719bo800bo880bobo477b2o477b2o319b
o444bo1864bo143bo6b3o96bo1203bo1960bo15494bo12bobo2b3o4b2o5b2o8bobo2b
2o4bo6bo11bo10b2o3b2o3bo$1845bo158bo719b2o319bo559b2o476b2o161bobo314b
o318bobo442b3o275bo319bo1410b3o103b3o1201bobo1958bobo15493bo7bobo3b2o
18bo8b2o8bo5b2o12bobo14b2o2b3o$1047bo161bo236bo399bo83bo74b2o716b2o
321bo1200b2o634b2o718bobo320bo132bo346bo783bo1456b2o1959b2o15493b3o5b
2o34bo8b3o4b2o3bo7b2o24bo$488bo158bo400bo161bo233bobo397b3o81bobo73b2o
481bo556b3o1044bo155bo240bo1115b2o318b3o133bo343bobo784bo151bo18768bo
13bo4bo10bobo5bobo14bo21bo12bobo$486bobo159b2o396b3o159b3o234b2o305bo
176b2o557b2o241bo156bo557bobo643bo396bo1568b3o344b2o782b3o149bobo
18775bobo4bobo2bobo3bobo2b2o6b2o15b3o19bobo10b2o$487b2o158b2o481bo612b
o6bobo734b2o243bo153bobo558b2o641b3o394b3o480bo640bo638bo1091b2o18764b
o10b2o5b2o3b2o4b2o4bo7bo20bobo3bo5bo4b2o7bo$569bo561bo320bo156bo131bob
o7b2o98bobo395bo480b3o154b2o162bobo237bo155bo1523bo640b2o317bobo317bo
19851bobo2bobo9bo17bo33b2o3bo6bobo11bobo$251bo318b2o481bobo73b3o238bo
82b2o155b2o63bo66b2o108b2o396b2o243bo556b2o235bobo719bo957b3o639b2o
319b2o315b3o19851b2o3b2o39bo6bo5bobo8bo3b3o4b2o12b2o$252bo316b2o483b2o
315b2o79b2o155b2o55bo6bobo72bo103bo396b2o245bo397bo157bo51bo185b2o80bo
82bo556bo481bobo635bo799bo204bo19966bo7bo5bo3bo5bo5bobo3bo6b2o5b2o6b2o
3bo25bo8bo$6bo243b3o702bobo96bo315b2o292bobo7b2o73bo744b3o398b2o205bob
o265bobo80bobo554b3o482b2o636bo1004b2o19972bobob2o4bobob2o6b2o4bobo5b
2o5b2o6bo3bobo21b2o9bobo$4bobo939bobo7b2o575bobo81bo47b2o80b3o417bo89b
o156bo479b2o207b2o192bo73b2o81b2o1039bo635b3o1003b2o117bobo19853b2o3b
2o3b2o3b2o6bo4b2o25b2o23b2o8b2o$5b2o60bo100bo138bo105bobo319bo80bo130b
2o7bo336bobo82bo155b2o82bo52bo493bobo90bo156bo882b2o474bobo879bo1600b
2o$68b2o99bo138b2o104b2o320b2o79bo129bo346b2o83bo154bo81b3o53bo493b2o
88b3o154b3o881b2o476b2o880bo1599bo$67b2o98b3o137b2o105bo320b2o78b3o
134bo341bo82b3o290b3o2102bo879b3o480bobo939bo$obo950b2o4184b2o930bo9b
2o$b2o740bo208b2o348bo858bobo2975bo932b2o6b2o$bo161bo580bo77bobo475bob
o859b2o2498bobo1406b2o70bobo$164b2o576b3o78b2o476b2o859bo2500b2o1479b
2o$163b2o658bo3839bo1412bobo65bo$867bobo2254bobo2950b2o$868b2o2245bobo
7b2o2950bo$868bo2247b2o7bo$90bo239bo2785bo$81bo6bobo230bo6bobo2790bo$
79bobo7b2o228bobo7b2o2791b2o$80b2o238b2o2799b2o$86bo239bo547bo$87bo
239bo547b2o$85b3o237b3o546b2o416$26044b2o4b2o$26044bobo3bobo$26044bo5b
o68$26035b2o4b2o$26034b2o4b2o$26036bo5bo82$26039b3o$26039bo$26040bo6$
26039b3o$26039bo$26040bo59$26028b2o4b2o$26028bobo3bobo$26028bo5bo80$
26022bo$26021b2o$26021bobo$26027bo$26026b2o$26026bobo89$26044b3o$
26044bo$26045bo6$26044b3o$26044bo$26045bo52$26016b3o$26016bo$26017bo$
26021b3o$26021bo$26022bo82$26031b3o3b3o$26031bo5bo$26032bo5bo56$26010b
2o4b2o$26010bobo3bobo$26010bo5bo107$26038b3o3b3o$26038bo5bo$26039bo5bo
60$26024b2o$26023b2o$26025bo6$26024b2o$26023b2o$26025bo81$26018bo$
26017b2o$26017bobo2$26023b2o$26014b2o6b2o$26013b2o9bo$26015bo15$26027b
3o$26027bo$26028bo26$26003bo5bo$26002b2o4b2o$26002bobo3bobo80$25995b3o
$25995bo$25996bo$26000b3o$26000bo$26001bo113$26042b3o3b3o$26042bo5bo$
26043bo5bo49$26015bo5bo$26014b2o4b2o$26014bobo3bobo81$26007b3o$26007bo
$26008bo$26012b3o$26012bo$26013bo81$26023bo5bo$26022b2o4b2o$26022bobo
3bobo65$25996bo$25995b2o$25995bobo2$26001b2o$25992b2o6b2o$25991b2o9bo$
25993bo15$26005b3o$26005bo$26006bo77$26029b3o3b3o$26029bo5bo$26030bo5b
o92$26036b2o$26035b2o$26037bo$26041b2o$26040b2o$26042bo19$25989bo5bo$
25988b2o4b2o$25988bobo3bobo82$25994b3o$25994bo$25995bo6$25994b3o$
25994bo$25995bo67$25981b2o$25981bobo$25981bo$25986b2o$25986bobo$25986b
o86$26001b3o$26001bo$26002bo6$26001b3o$26001bo$26002bo103$26034b3o$
26034bo$26035bo6$26034b3o$26034bo$26035bo55$26018b2o4b2o$26017b2o4b2o$
26019bo5bo69$26013bo$26012b2o$26012bobo6$26013bo$26012b2o$26012bobo
105$26045bo5bo$26044b2o4b2o$26044bobo3bobo19$25976b2o$25976bobo$25976b
o$25981b2o$25981bobo$25981bo116$26027b3o$26027bo$26028bo6$26027b3o$
26027bo$26028bo31$25989b2o$25989bobo$25989bo6$25989b2o$25989bobo$
25989bo62$25971b2o$25970b2o$25972bo$25976b2o$25975b2o$25977bo136$
26007b2o$26006b2o10b3o$26008bo9bo$26019bo38$26002b2o4b2o$26001b2o4b2o$
26003bo5bo104$26031bo$26030b2o$26030bobo6$26031bo$26030b2o$26030bobo9$
25967bo5bo$25966b2o4b2o$25966bobo3bobo93$25983b2o$25982b2o$25984bo6$
25983b2o$25982b2o$25984bo80$25993bo5bo$25992b2o4b2o$25992bobo3bobo98$
26012b3o$26012bo$26013bo6$26012b3o$26012bo$26013bo97$26038b2o4b2o$
26038bobo3bobo$26038bo5bo52$25996b3o$25996bo$25997bo$26002b2o$25993b2o
7bobo$25993bobo6bo$25993bo15$26007b2o$26006b2o$26008bo12$25960bo$
25959b2o$25959bobo$25965bo$25964b2o$25964bobo122$26016b3o$26016bo$
26017bo6$26016b3o$26016bo$26017bo51$25999bo$25998b2o$25998bobo6$25999b
o$25998b2o$25998bobo61$25988b3o$25988bo$25989bo6$25988b3o$25988bo$
25989bo58$25974b3o3b3o$25974bo5bo$25975bo5bo133$26031b3o$26031bo$
26032bo6$26031b3o$26031bo$26032bo8$25969b2o$25969bobo$25969bo6$25969b
2o$25969bobo$25969bo55$25953b2o4b2o$25953bobo3bobo$25953bo5bo114$
25973b2o$25972b2o$25974bo$25979bo$25970bo7b2o$25969b2o7bobo$25969bobo
15$25983b2o$25983bobo$25983bo113$26043b3o3b3o$26043bo5bo$26044bo5bo68$
26036b3o$26036bo$26037bo$25959b2o$25958b2o$25960bo3$26036b3o$26036bo$
26037bo$25959b2o$25958b2o$25960bo123$26010b2o4b2o$26009b2o4b2o$26011bo
5bo58$25991b3o$25991bo$25992bo6$25991b3o$25991bo$25992bo97$26017b2o4b
2o$26017bobo3bobo$26017bo5bo85$26026b2o$26026bobo$26026bo$25949b2o$
25949bobo$25949bo3$26026b2o$26026bobo$26026bo$25949b2o$25949bobo$
25949bo126$26003b2o4b2o$26003bobo3bobo$26003bo5bo69$25997bo$25996b2o$
25996bobo6$25997bo$25996b2o$25996bobo106$26030b2o4b2o$26030bobo3bobo$
26030bo5bo22$25975bo5bo$25974b2o4b2o$25974bobo3bobo82$25981b2o$25980b
2o$25982bo6$25981b2o$25980b2o$25982bo52$25961b2o4b2o$25961bobo3bobo$
25961bo5bo154$26037b2o4b2o$26037bobo3bobo$26037bo5bo9$25968b2o4b2o$
25967b2o4b2o$25969bo5bo96$25985b2o4b2o$25985bobo3bobo$25985bo5bo106$
26015b2o$26015bobo$26015bo6$26015b2o$26015bobo$26015bo76$26021b2o$
26021bobo$26021bo6$26021b2o$26021bobo$26021bo95$26043b3o3b3o$26043bo5b
o$26044bo5bo37$26005bo5bo$26004b2o4b2o$26004bobo3bobo23$25948b3o3b3o$
25948bo5bo$25949bo5bo118$25990b3o$25990bo$25991bo6$25990b3o$25990bo$
25991bo106$26025b2o4b2o$26024b2o4b2o$26026bo5bo9$25955b3o3b3o$25955bo
5bo$25956bo5bo121$25998b2o4b2o$25998bobo3bobo$25998bo5bo79$25983b3o$
25983bo$25984bo$25989b2o$25980b2o7bobo$25980bobo6bo$25980bo15$25994b2o
$25993b2o$25995bo86$26032bo$26031b2o$26031bobo6$26032bo$26031b2o$
26031bobo$25961b2o$25960b2o$25962bo6$25961b2o$25960b2o$25962bo154$
25966b2o$25965b2o80bo$25967bo78b2o$26046bobo5$25966b2o$25965b2o80bo$
25967bo78b2o$26046bobo122$26017b3o$26017bo$26018bo6$26017b3o$26017bo$
26018bo29$25976b2o4b2o$25976bobo3bobo$25976bo5bo136$26036b2o$26036bobo
$26036bo6$26036b2o$26036bobo$26036bo82$26030b2o$26030bobo$26030bo$
25971b2o$25970b2o63b3o$25972bo53b3o6bo$26026bo9bo$26027bo4$25971b2o$
25970b2o$25972bo8$26041bo$26040b2o$26040bobo96$26005b2o4b2o$26005bobo
3bobo$26005bo5bo54$25981b3o$25981bo$25982bo6$25981b3o$25981bo$25982bo
111$26024bo$26023b2o$26023bobo3$25948bo5bo$25947b2o4b2o$25947bobo3bobo
$26024bo$26023b2o$26023bobo82$25956b2o$25956bobo$25956bo6$25956b2o$
25956bobo$25956bo102$25987b2o$25986b2o$25988bo6$25987b2o$25986b2o$
25988bo95$26013bo$26012b2o$26012bobo6$26013bo$26012b2o$26012bobo55$
25998b2o$25997b2o$25999bo6$25998b2o$25997b2o$25999bo104$26032bo$26031b
2o$26031bobo6$26032bo$26031b2o$26031bobo29$25992bo$25991b2o$25991bobo
6$25992bo$25991b2o$25991bobo126$26046b3o$26046bo$26047bo6$26046b3o$
26046bo$26047bo49$26007b3o$26007bo$26008bo$26013b2o$26004b2o7bobo$
26004bobo6bo$26004bo15$26018b2o$26017b2o$26019bo68$26036b2o$26036bobo$
26036bo6$26036b2o$26036bobo$26036bo9$25973b2o4b2o$25972b2o4b2o$25974bo
5bo71$25968b2o$25967b2o$25969bo6$25968b2o$25967b2o$25969bo105$26001b2o
4b2o$26000b2o4b2o$26002bo5bo35$25960bo5bo$25959b2o4b2o$25959bobo3bobo
104$25986b2o$25986bobo$25986bo6$25986b2o$25986bobo$25986bo31$25946bo5b
o$25945b2o4b2o$25945bobo3bobo109$25979bo$25978b2o$25978bobo6$25979bo$
25978b2o$25978bobo84$25992b3o$25992bo$25993bo6$25992b3o$25992bo$25993b
o82$25986b3o$25986bo$25987bo$25992b2o$25983b2o7bobo$25983bobo6bo$
25983bo15$25997b2o$25996b2o$25998bo75$26021b2o4b2o$26020b2o4b2o$26022b
o5bo97$26041bo5bo$26040b2o4b2o$26040bobo3bobo42$26005b3o$26005bo$
26006bo6$26005b3o$26005bo$26006bo75$26012bo$26011b2o$26011bobo6$26012b
o$26011b2o$26011bobo29$25971bo$25970b2o$25970bobo6$25971bo$25970b2o$
25970bobo117$26017b2o$26016b2o$26018bo6$26017b2o$26016b2o$26018bo6$
25950b3o3b3o$25950bo5bo$25951bo5bo162$26033b3o3b3o$26033bo5bo$26034bo
5bo68$26026b2o$26025b2o$26027bo6$26026b2o$26025b2o$26027bo7$25961b2o4b
2o$25961bobo3bobo$25961bo5bo115$26000b3o$26000bo$26001bo6$26000b3o$
26000bo$26001bo115$26044b3o$26044bo$26045bo6$26044b3o$25973b3o68bo$
25973bo71bo$25974bo6$25973b3o$25973bo$25974bo122$25947b2o$25946b2o$
25948bo$26029b3o$26029bo$26030bo3$25947b2o$25946b2o$25948bo$26029b3o$
26029bo$26030bo158$26039bo$26038b2o$26038bobo6$26039bo$26038b2o$26038b
obo22$25990b2o$25990bobo$25990bo6$25990b2o$25990bobo$25990bo100$26020b
o$26019b2o$26019bobo6$26020bo$26019b2o$26019bobo9$25957b3o$25957bo$
25958bo6$25957b3o$25957bo$25958bo77$25966b2o$25965b2o$25967bo6$25966b
2o$25965b2o$25967bo100$25995b2o$25995bobo$25995bo6$25995b2o$25995bobo$
25995bo57$25979b3o3b3o$25979bo5bo$25980bo5bo46$25952bo$25951b2o$25951b
obo6$25952bo$25951b2o$25951bobo126$26005b2o4b2o$26005bobo3bobo$26005bo
5bo104$26033b2o$26033bobo$26033bo6$26033b2o$26033bobo$26033bo52$26012b
2o4b2o$26012bobo3bobo$26012bo5bo108$26042b2o4b2o$26042bobo3bobo$26042b
o5bo58$26023b2o4b2o$26023bobo3bobo$26023bo5bo25$25972b2o$25971b2o$
25973bo6$25972b2o$25971b2o$25973bo58$25959b2o$25958b2o$25960bo6$25959b
2o$25958b2o$25960bo135$26009bo$26008b2o$26008bobo2$26014b2o$26005b2o6b
2o$26004b2o9bo$26006bo15$26018b3o$26018bo$26019bo18$25984b3o3b3o$
25984bo5bo$25985bo5bo88$25995b2o4b2o$25995bobo3bobo$25995bo5bo42$
25942b3o$25942bo$25943bo$25948b2o$25939b2o7bobo$25939bobo6bo$25939bo
15$25953b2o$25952b2o$25954bo59$25964bo$25963b2o$25963bobo6$25964bo$
25963b2o$25963bobo55$25948bo$25947b2o$25947bobo6$25948bo$25947b2o$
25947bobo102$25978b3o$25978bo$25979bo6$25978b3o$25978bo$25979bo127$
26034b2o4b2o$26033b2o4b2o$26035bo5bo43$26000b3o$26000bo$26001bo6$
26000b3o$26000bo$26001bo96$26029bo$26028b2o$26028bobo6$26029bo$26028b
2o$26028bobo49$26006b2o$26006bobo$26006bo6$26006b2o$26006bobo$26006bo
103$26039b3o$26039bo$26040bo6$26039b3o$26039bo$26040bo21$25992bo$
25991b2o$25991bobo6$25992bo$25991b2o$25991bobo93$26012b2o4b2o$26012bob
o3bobo$26012bo5bo39$25973b3o$25973bo$25974bo6$25973b3o$25973bo$25974bo
140$26045b2o$26044b2o$26046bo6$26045b2o$26044b2o$26046bo2$25966bo$
25965b2o$25965bobo$25971bo$25970b2o$25970bobo57$25958b2o$25958bobo$
25958bo6$25958b2o$25958bobo$25958bo106$25982b3o$25982bo$25983bo$25987b
3o$25987bo$25988bo101$26017b3o3b3o$26017bo5bo$26018bo5bo9$25951b2o$
25951bobo$25951bo6$25951b2o$25951bobo$25951bo81$25964bo$25963b2o$
25963bobo6$25964bo$25963b2o$25963bobo87$25978bo5bo$25977b2o4b2o$25977b
obo3bobo94$25995bo5bo$25994b2o4b2o$25994bobo3bobo92$26007b2o4b2o$
26007bobo3bobo$26007bo5bo104$26032b3o3b3o$26032bo5bo$26033bo5bo44$
26001b3o$26001bo$26002bo6$26001b3o$26001bo$26002bo97$26026b2o4b2o$
26025b2o4b2o$26027bo5bo95$26044bo5bo$25967bo75b2o4b2o$25966b2o75bobo3b
obo$25966bobo6$25967bo$25966b2o$25966bobo117$26012b2o4b2o$26011b2o4b2o
$26013bo5bo87$26020b2o4b2o$26020bobo3bobo$26020bo5bo41$25986bo$25985b
2o$25985bobo6$25986bo$25985b2o$25985bobo121$25953b3o3b3o75b2o$25953bo
5bo77bobo$25954bo5bo76bo6$26037b2o$26037bobo$26037bo84$25970b3o$25970b
o$25971bo6$25970b3o$25970bo$25971bo75$25975b3o$25975bo$25976bo6$25975b
3o$25975bo$25976bo85$25989b2o4b2o$25988b2o4b2o$25990bo5bo93$26003b3o3b
3o$26003bo5bo$26004bo5bo100$26026b3o$26026bo$26027bo6$26026b3o$26026bo
$26027bo5$25961bo5bo$25960b2o4b2o$25960bobo3bobo95$25981bo$25980b2o$
25980bobo6$25981bo$25980b2o$25980bobo107$26014b2o4b2o$26014bobo3bobo$
26014bo5bo10$25946b2o4b2o$25946bobo3bobo$25946bo5bo175$26045bo5bo$
26044b2o4b2o$26044bobo3bobo30$25996b2o4b2o$25996bobo3bobo$25996bo5bo
120$26038b2o4b2o$26038bobo3bobo$26038bo5bo4$25965b3o$25965bo$25966bo6$
25965b3o$25965bo$25966bo146$26006b2o$26005b2o10b3o$26007bo9bo$26018bo
7$25970b3o$25970bo$25971bo6$25970b3o$25970bo$25971bo133$25953b2o4b2o
71b2o4b2o$25952b2o4b2o71b2o4b2o$25954bo5bo72bo5bo129$26006bo$26005b2o$
26005bobo6$26006bo$26005b2o$26005bobo72$25989b3o$25989bo$25990bo$
25995b2o$25986b2o7bobo$25986bobo6bo$25986bo15$26000b2o$25999b2o$26001b
o61$26011b2o$26011bobo$26011bo6$26011b2o$26011bobo$26011bo40$25981b3o$
25981bo$25982bo6$25981b3o$25981bo$25982bo106$26017b2o$26016b2o$26018bo
6$26017b2o$26016b2o$26018bo44$25990bo5bo$25989b2o4b2o$25989bobo3bobo
35$25950bo$25949b2o$25949bobo6$25950bo$25949b2o$25949bobo164$26040b3o
3b3o$26040bo5bo$26041bo5bo28$25974b3o$25974bo$25975bo$25980b2o$25971b
2o7bobo$25971bobo6bo$25971bo15$25985b2o$25984b2o$25986bo31$25966b3o$
25966bo$25967bo6$25966b3o$25966bo$25967bo72$25959bo$25958b2o$25958bobo
$25964bo$25963b2o$25963bobo79$25971b3o$25971bo$25972bo6$25971b3o$
25971bo$25972bo74$25976b3o$25976bo$25977bo6$25976b3o$25976bo$25977bo
88$25994b3o$25994bo$25995bo6$25994b3o$25994bo$25995bo100$26023b2o4b2o$
26023bobo3bobo$26023bo5bo9$25952b3o3b3o$25952bo5bo$25953bo5bo156$
26030b3o3b3o$26030bo5bo$26031bo5bo81$26036b3o$26036bo$26037bo6$26036b
3o$26036bo$26037bo32$25998b2o$25998bobo$25998bo6$25998b2o$25998bobo$
25998bo78$26004b3o3b3o$26004bo5bo$26005bo5bo86$26015bo$26014b2o$26014b
obo6$26015bo$26014b2o$26014bobo82$25947b2o$25946b2o$25948bo6$25947b2o$
25946b2o$25948bo6$26044bo$26043b2o$26043bobo6$26044bo$26043b2o$26043bo
bo98$25988b2o4b2o$25988bobo3bobo$25988bo5bo50$25962bo5bo$25961b2o4b2o$
25961bobo3bobo137$26020b3o$26020bo$26021bo6$26020b3o$26020bo$26021bo5$
25956b3o$25956bo$25957bo6$25956b3o$25956bo$25957bo82$25968b3o$25968bo$
25969bo6$25968b3o$25968bo$25969bo94$25981b2o$25980b2o$25982bo$25986b2o
$25985b2o$25987bo108$26025b3o$26025bo$26026bo6$26025b3o$26025bo$26026b
o23$25977b2o4b2o$25976b2o4b2o$25978bo5bo93$25994bo$25993b2o$25993bobo
6$25994bo$25993b2o$25993bobo78$26000bo5bo$25999b2o4b2o$25999bobo3bobo
87$26009bo5bo$26008b2o4b2o$26008bobo3bobo84$26015b3o$26015bo$26016bo6$
26015b3o$26015bo$26016bo92$26038bo5bo$26037b2o4b2o$26037bobo3bobo86$
26044b2o4b2o$26044bobo3bobo$26044bo5bo42$25994b2o$25994bobo$25994bo2$
25999b3o$25990b3o6bo$25990bo9bo$25991bo12$25947b2o4b2o$25947bobo3bobo$
25947bo5bo51bo$26004b2o$26004bobo169$26030b3o$26030bo$26031bo$26035b3o
$26035bo$26036bo6$25971b2o4b2o$25970b2o4b2o$25972bo5bo133$26027b2o4b2o
$26026b2o4b2o$26028bo5bo10$25960b2o$25959b2o$25961bo6$25960b2o$25959b
2o$25961bo62$25952b3o$25952bo$25953bo6$25952b3o$25952bo$25953bo83$
25966bo$25965b2o$25965bobo6$25966bo$25965b2o$25965bobo86$25979b3o3b3o$
25979bo5bo$25980bo5bo83$25986b2o$25986bobo$25986bo6$25986b2o$25986bobo
$25986bo65$25965b2o$25964b2o$25966bo$25971bo$25962bo7b2o$25961b2o7bobo
$25961bobo15$25975b2o$25975bobo$25975bo87$26011b2o$26011bobo$26011bo6$
26011b2o$26011bobo$26011bo101$26039b3o3b3o$26039bo5bo$26040bo5bo57$
26020bo5bo$26019b2o4b2o$26019bobo3bobo102$26045b3o$26045bo$26046bo6$
26045b3o$26045bo$26046bo60$26000b2o$26000bobo9b2o$26000bo10b2o$26013bo
83$26026bo$26025b2o$26025bobo2$26031b2o$26022b2o6b2o$26021b2o9bo$
26023bo15$26035b3o$26035bo$26036bo4$25989b3o$25989bo$25990bo6$25989b3o
$25989bo$25990bo112$26030b3o$26030bo$26031bo6$26030b3o$26030bo$26031bo
37$25995b3o3b3o$25995bo5bo$25996bo5bo50$25970b2o$25969b2o$25971bo6$
25970b2o$25969b2o$25971bo60$25962bo$25961b2o$25961bobo6$25962bo$25961b
2o$25961bobo135$26025b2o$26025bobo$26025bo2$25950b2o$25950bobo$25950bo
2$26025b2o$26025bobo$26025bo2$25950b2o$25950bobo$25950bo123$26001b2o4b
2o$26000b2o4b2o$26002bo5bo51$25941bo$25940b2o10b2o$25940bobo9bobo$
25952bo76$25975b2o$25975bobo$25975bo6$25975b2o$25975bobo$25975bo76$
25981b2o$25980b2o$25982bo6$25981b2o$25980b2o$25982bo132$26041b3o$
26041bo$25965b2o75bo$25965bobo$25965bo4$26041b3o$26041bo$25965b2o75bo$
25965bobo$25965bo138$26031b2o4b2o$26031bobo3bobo$26031bo5bo62$26013b3o
3b3o$26013bo5bo$26014bo5bo47$25985b2o$25984b2o$25986bo6$25985b2o$
25984b2o$25986bo76$25990b2o4b2o$25990bobo3bobo$25990bo5bo132$26045b3o$
26045bo$26046bo6$26045b3o$26045bo$26046bo34$26008b2o4b2o$26007b2o4b2o$
26009bo5bo88$26019b3o$26019bo$26020bo6$26019b3o$26019bo$26020bo20$
25969b2o$25968b2o$25970bo6$25969b2o$25968b2o$25970bo61$25959b3o$25959b
o$25960bo6$25959b3o$25959bo$25960bo106$25995b3o$25995bo$25996bo6$
25995b3o$25995bo$25996bo47$25975bo$25974b2o$25974bobo6$25975bo$25974b
2o$25974bobo96$26000b2o$25999b2o$26001bo6$26000b2o$25999b2o$26001bo99$
26026b2o4b2o$26026bobo3bobo$26026bo5bo11$25951b2o$25951bobo$25951bo$
25956b2o$25956bobo$25956bo70$25947bo$25946b2o$25946bobo$25952bo$25951b
2o$25951bobo154$26034b2o4b2o$26033b2o4b2o$26035bo5bo5$25962b3o$25962bo
$25963bo6$25962b3o$25962bo$25963bo89$25982bo$25981b2o$25981bobo6$
25982bo$25981b2o$25981bobo79$25989b2o4b2o$25989bobo3bobo$25989bo5bo94$
26007bo$26006b2o$26006bobo6$26007bo$26006b2o$26006bobo86$26019b3o3b3o$
26019bo5bo$26020bo5bo66$26011b2o$26011bobo$26011bo6$26011b2o$26011bobo
$26011bo28$25968bo5bo$25967b2o4b2o$25967bobo3bobo132$26005b2o$26004b2o
$26006bo$26011bo$26002bo7b2o$26001b2o7bobo$26001bobo15$26015b2o$26015b
obo$26015bo30$25994b3o$25994bo$25995bo6$25994b3o$25994bo$25995bo30$
25956b2o$25955b2o$25957bo6$25956b2o$25955b2o$25957bo115$26000b2o$
26000bobo$26000bo6$26000b2o$26000bobo$26000bo45$25973b3o3b3o$25973bo5b
o$25974bo5bo89$25986b2o$25985b2o$25987bo6$25986b2o$25985b2o$25987bo32$
25946b2o4b2o$25945b2o4b2o$25947bo5bo89$25960b2o$25960bobo$25960bo6$
25960b2o$25960bobo$25960bo100$25990b2o$25989b2o$25991bo6$25990b2o$
25989b2o$25991bo92$26009b2o4b2o$26009bobo3bobo$26009bo5bo36$25967b3o3b
3o$25967bo5bo$25968bo5bo103$25994b2o$25993b2o$25995bo6$25994b2o$25993b
2o$25995bo89$26003bo$26002b2o$26002bobo$26008bo$26007b2o$26007bobo13$
25953bo$25952b2o$25952bobo6$25953bo$25952b2o$25952bobo99$25979bo5bo$
25978b2o4b2o$25978bobo3bobo58$25962bo$25961b2o$25961bobo6$25962bo$
25961b2o$25961bobo83$25972b3o$25972bo$25973bo6$25972b3o$25972bo$25973b
o50$25936b3o$25936bo$25937bo$25942b2o$25933b2o7bobo$25933bobo6bo$
25933bo15$25947b2o$25946b2o$25948bo66$25945b3o$25945bo$25946bo$25951b
2o$25942b2o7bobo$25942bobo6bo$25942bo15$25956b2o$25955b2o$25957bo81$
25986b2o$25985b2o$25987bo6$25986b2o$25985b2o$25987bo82$25997b2o4b2o$
25996b2o4b2o$25998bo5bo46$25966b2o$25966bobo$25966bo6$25966b2o$25966bo
bo$25966bo85$25981b2o$25980b2o$25982bo6$25981b2o$25980b2o$25982bo80$
25992bo$25991b2o$25991bobo6$25992bo$25991b2o$25991bobo31$25952b2o$
25951b2o$25953bo6$25952b2o$25951b2o$25953bo92$25973b2o4b2o$25973bobo3b
obo$25973bo5bo64$25960b3o$25960bo$25961bo6$25960b3o$25960bo$25961bo62$
25936b2o$25935b2o$25937bo$25942bo$25933bo7b2o$25932b2o7bobo$25932bobo
15$25946b2o$25946bobo$25946bo94$25953b3o10bo$25953bo11b2o$25954bo10bob
o72$25983b3o$25983bo$25984bo6$25983b3o$25983bo$25984bo64$25978b2o$
25977b2o$25979bo6$25978b2o$25977b2o$25979bo47$25954bo5bo$25953b2o4b2o$
25953bobo3bobo87$25962bo5bo$25961b2o4b2o$25961bobo3bobo62$25945b3o3b3o
$25945bo5bo$25946bo5bo102$25969b2o4b2o$25968b2o4b2o$25970bo5bo78$
25954b3o$25954bo$25955bo$25960b2o$25951b2o7bobo$25951bobo6bo$25951bo
15$25965b2o$25964b2o$25966bo38$25950b2o4b2o$25950bobo3bobo$25950bo5bo
94$25957b2o$25956b2o$25958bo$25962b2o$25961b2o$25963bo68$25944b3o$
25944bo$25945bo$25950b2o$25941b2o7bobo$25941bobo6bo$25941bo15$25955b2o
$25954b2o$25956bo50$25944bo$25943b2o$25943bobo$25949bo$25948b2o$25948b
obo!
Also note that recipes 4 and 4a would be sufficient to make a p160 Dart gun:

Code: Select all

x = 1731, y = 1723, rule = B3/S23
366bo990bo$366bobo162bo826b2o$366b2o163bobo823b2o$443bo87b2o$441b2o
158bo$442b2o156bo$535bobo62b3o679bobo$535b2o746b2o$536bo746bo$593bobo$
593b2o81bo79bobo367bobo79bo82bo$594bo81bobo77b2o369b2o77bobo80bobo$
676b2o79bo290bo78bo79b2o81b2o$1049b2o$1048b2o26$326bo1070bo$326bobo
162bo906b2o$326b2o163bobo903b2o$403bo87b2o$401b2o158bo$402b2o156bo$
495bobo62b3o759bobo$495b2o826b2o$496bo826bo$553bobo$553b2o81bo79bobo
447bobo79bo82bo$554bo81bobo77b2o449b2o77bobo80bobo$636b2o79bo370bo78bo
79b2o81b2o$1089b2o$1088b2o256$53b3o3b3o$55bo5bo$54bo5bo11$1678bo5bo$
1677b2o4b2o$1677bobo3bobo25$13b3o3b3o$15bo5bo$14bo5bo11$1718bo5bo$
1717b2o4b2o$1717bobo3bobo33$44bo5bo$44b2o4b2o$43bobo3bobo1625bo$1676b
2o$1676bobo6$1677bo$1676b2o$1676bobo28$4bo5bo$4b2o4b2o$3bobo3bobo1705b
o$1716b2o$1716bobo6$1717bo$1716b2o$1716bobo20$67bo$67b2o$66bobo$62bo$
62b2o$61bobo11$1679b3o3b3o$1679bo5bo$1680bo5bo22$27bo$27b2o$26bobo$22b
o$22b2o$21bobo11$1719b3o3b3o$1719bo5bo$1720bo5bo24$54b3o1609b2o4b2o$
56bo1608b2o4b2o$55bo1611bo5bo6$54b3o$56bo$55bo30$14b3o1689b2o4b2o$16bo
1688b2o4b2o$15bo1691bo5bo6$14b3o$16bo$15bo25$1661bo5bo$1660b2o4b2o$
1660bobo3bobo11$43b3o3b3o$45bo5bo$44bo5bo25$1701bo5bo$1700b2o4b2o$
1700bobo3bobo11$3b3o3b3o$5bo5bo$4bo5bo26$55b2o4b2o$56b2o4b2o$55bo5bo
38$15b2o4b2o$16b2o4b2o$15bo5bo128$1697bobo3bobo$1697b2o4b2o$1698bo5bo$
24bo5bo$25bo5bo$23b3o3b3o35$1657bobo3bobo$1657b2o4b2o$1658bo5bo$64bo5b
o$65bo5bo$63b3o3b3o33$17bobo3bobo$18b2o4b2o$18bo5bo1672bo5bo$1697bobo
3bobo$1697b2o4b2o36$57bobo3bobo$58b2o4b2o$58bo5bo1592bo5bo$1657bobo3bo
bo$1657b2o4b2o17$1719bo5bo$1718bo5bo$1718b3o3b3o7$9bo5bo$10b2o4b2o$9b
2o4b2o29$1679bo5bo$1678bo5bo$1678b3o3b3o7$49bo5bo$50b2o4b2o$49b2o4b2o
33$5bo5bo$6bo5bo$4b3o3b3o7$1707bo5bo$1705b2o4b2o$1706b2o4b2o29$45bo5bo
$46bo5bo$44b3o3b3o7$1667bo5bo$1665b2o4b2o$1666b2o4b2o21$1724bo5bo$
1722b2o4b2o$1723b2o4b2o2$o5bo$b2o4b2o$2o4b2o34$1684bo5bo$1682b2o4b2o$
1683b2o4b2o2$40bo5bo$41b2o4b2o$40b2o4b2o43$1714bobo3bobo$1714b2o4b2o$
1715bo5bo2$8bobo3bobo$9b2o4b2o$9bo5bo34$1674bobo3bobo$1674b2o4b2o$
1675bo5bo2$48bobo3bobo$49b2o4b2o$49bo5bo40$1708bo5bo$1707bo5bo$1707b3o
3b3o2$15bo5bo$16bo5bo$14b3o3b3o34$1668bo5bo$1667bo5bo$1667b3o3b3o2$55b
o5bo$56bo5bo$54b3o3b3o259$925b2o$926b2o$800b2o123bo$643bo156bobo$642b
2o156bo$642bobo$724b2o$723b2o$725bo4$571b2o501b2o$571bobo499bobo$571bo
419b3o81bo$993bo$496bo495bo237bo$495b2o652bo80b2o$495bobo651b2o78bobo$
1148bobo$419b2o885b2o$418b2o887b2o$420bo885bo$341b2o$341bobo$341bo2$
1379b2o$1378bobo$1380bo11$885b2o$886b2o$840b2o43bo$683bo156bobo$682b2o
156bo$682bobo$764b2o$763b2o$765bo4$611b2o421b2o$611bobo419bobo$611bo
339b3o81bo$953bo$536bo415bo237bo$535b2o572bo80b2o$535bobo571b2o78bobo$
1108bobo$459b2o805b2o$458b2o807b2o$460bo805bo$381b2o$381bobo$381bo2$
1339b2o$1338bobo$1340bo!

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Splitters with common SL

Post by simsim314 » December 24th, 2014, 1:53 pm

chris_c wrote:Also note that recipes 4 and 4a would be sufficient to make a p160 Dart gun:
I'm really not sure where we're going with this "universality" stuff. But this proves to me as of practical applications are concerned, we're pretty much covered for any salvo, with your script, while having very good efficiency.

The next step would probably be "universal salvo gun" script. And "gun generation" script per any glider recipe.

User avatar
dvgrn
Moderator
Posts: 10565
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Splitters with common SL

Post by dvgrn » December 25th, 2014, 3:47 pm

simsim314 wrote:
chris_c wrote:Also note that recipes 4 and 4a would be sufficient to make a p160 Dart gun:
I'm really not sure where we're going with this "universality" stuff...
Don't know about anybody else, but I've been thinking in terms of formal proofs just because of the various mechanisms that I've been calling "universal constructors" for the past few years. They're only really universal if slow salvos can provably construct any synchronized glider salvo.

If there had turned out to be some glider spacings that synchronized glider collisions couldn't construct, then it would be necessary to prove that anything that could be constructed by gliders with those spacings could also be constructed with wider-spaced salvos. Seems as if that would be unlikely to be provable, so I'm glad that there don't seem to be any such cases.
simsim314 wrote:The next step would probably be "universal salvo gun" script. And "gun generation" script per any glider recipe.
Another possible goal will be a script that builds a stable 1G seed constellation for any given input salvo -- i.e., hit the constellation with one glider, and eventually the required salvo emerges with no leftover ash. I suppose there could be P1 and P2 versions of this, since it's obviously much easier if you can start with occasional clocks in the constellation!

User avatar
dvgrn
Moderator
Posts: 10565
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Splitters with common SL

Post by dvgrn » October 12th, 2015, 6:33 am

Just spent a little more time looking at the clock-based insertion reaction. Turns out there's a way to use it to replace the sabotaged glider in this salvo:

Code: Select all

x = 35, y = 33, rule = B3/S23
26bo$26bobo$26b2o$23bo6bo$22bo6bo$22b3o4b3o2$19bo6bo$19bobo4bobo5bo$
19b2o5b2o4b2o$bo4bo4bo4bo7bo8b2o$o4bo4bo4bo$3o2b3o2b3o2b3o11bobo$29b2o
$30bo$27bo$25b2o$26b2o3$27bo$25b2o$26b2o3$27bo$25b2o$26b2o3$27bo$25b2o
$26b2o!
Is there a way to move any of those front-edge gliders forward and still replace that glider? It seems just barely possible that the solution below can be improved, at least slightly. Maybe a glider sneaking in from the SW could hit a small still life near a clock to make the required spark?

It could be a two-bit diagonal spark, or a domino spark on either side. As chris_c's eight-glider recipe shows, the spark doesn't have to be disconnected, as long as it fades away quickly when modified by one cell from the clock.

Here's the best recipe I've found so far, eight gliders again, to solve the above insertion problem:

Code: Select all

x = 81, y = 79, rule = B3/S23
72bo$72bobo$72b2o$69bo6bo$68bo6bo$68b3o4b3o2$65bo6bo$65bobo4bobo5bo$
65b2o5b2o4b2o$47bo4bo4bo4bo7bo8b2o$46bo4bo4bo4bo$46b3o2b3o2b3o2b3o11bo
bo$75b2o$76bo$o72bo$b2o68b2o$2o70b2o3$73bo$71b2o$72b2o3$73bo$71b2o$72b
2o3$73bo$71b2o$72b2o4$40bo$31bo6bobo$29bobo7b2o$30b2o$36bo$37bo4b3o$
35b3o4bo$43bo$48b2o$39b2o7bobo$39bobo6bo$39bo29$67b2o$67bobo$67bo!

chris_c
Posts: 966
Joined: June 28th, 2014, 7:15 am

Re: Splitters with common SL

Post by chris_c » October 12th, 2015, 8:04 am

dvgrn wrote:Just spent a little more time looking at the clock-based insertion reaction. Turns out there's a way to use it to replace the sabotaged glider in this salvo:

Is there a way to move any of those front-edge gliders forward and still replace that glider? It seems just barely possible that the solution below can be improved, at least slightly.
There could well be. I think I chose that pair of trigger gliders because they have the same color and mod 8 timing relative to the gliders that make the clock. If you check my oversized Herschel plumbing you should see that the final inserters on either side only differ in terms of position.

Some while ago I made a more up to date version of that pattern. It's a lot better than the original but there were still two things that bugged me. First, I think the last pair of inserters can be done a lot better. Second, the fact that the design has glider crossings means the repeat time is somewhere just short of 500 ticks.

Code: Select all

x = 822, y = 708, rule = LifeHistory
2B$2BA$3BA$.3A92$179.2A$179.A$177.A.A$177.2A5$183.A$159.A21.3A$159.3A
18.A$162.A17.2A$161.2A5$160.2A$159.A.A$159.A$158.2A6$174.2A$174.A$
175.3A$177.A2$126.A8.A$127.2A6.3A$126.2A10.A19.2A$137.A.A17.A.A23.A$
137.A.A17.A23.3A$138.A17.2A22.A$164.2A14.2A$164.2A3$153.2A$153.2A4$
133.2A$132.A.A$132.A50.2A$131.2A7.2A36.2A2.A2.A$140.2A21.2A13.A.A2.2A
$162.A.A16.2A$148.2A.A10.A19.A$148.2A.3A7.2A16.A2.A.2A$154.A23.A.A.2A
.A$148.2A.3A25.A.A$147.A2.2A28.A2.2A$146.A.A32.2A.3A$145.A.A.2A.A34.A
$128.2A16.A2.A.2A28.2A.3A$129.A19.A31.2A.A$129.A.A16.2A$130.2A13.A.A
2.2A21.2A$145.2A2.A2.A11.2A7.2A30.2A$150.2A13.A39.2A$127.A37.A.A$126.
A.A37.2A$126.A.A$124.3A.2A$123.A$124.3A.2A56.2A$126.A.2A56.2A2$121.2A
67.2A$122.A18.2A47.2A$122.A.A16.A.A$123.2A18.A27.A$143.2A25.A.A$170.A
.A$171.A$168.3A$168.A3$210.2A$133.A76.A$132.A.A76.3A$132.A.A78.A$133.
A51.A$128.2A55.3A$127.A.A58.A$127.A59.2A$126.2A2$212.A$210.3A$163.A
45.A$163.3A18.2A23.2A$166.A17.A2.2A$165.A.A17.2A.A$165.A.A18.A$166.A
19.A$185.2A.A.2A18.2A$184.A2.2A.2A18.A.A30.2A$185.A26.A30.2A$186.3A.
2A20.2A$181.2A5.A.A$181.2A7.A$189.2A.2A22.2A$191.A.A17.2A2.A2.A$191.A
19.A.A2.2A$161.2A27.2A22.2A$160.A.A52.A$160.A51.A2.A.2A9.2A$159.2A7.
2A41.A.A.2A.A9.2A$168.2A42.A.A$213.A2.2A$176.2A.A34.2A.3A$176.2A.3A
38.A$182.A31.2A.3A$176.2A.3A32.2A.A$175.A2.2A$174.A.A29.2A$173.A.A.2A
.A16.2A7.2A$156.2A16.A2.A.2A17.A49.2A$157.A19.A20.A.A47.A$95.A61.A.A
16.2A21.2A48.3A$94.A.A61.2A13.A.A2.2A71.A$94.A.A76.2A2.A2.A$95.A82.2A
$155.A63.2A$154.A.A62.2A11.2A$154.A.A74.A.A23.A$152.3A.2A73.A23.3A$
151.A78.2A22.A$152.3A.2A80.2A14.2A$154.A.2A46.A33.2A$203.A.A$149.2A
52.A.A$150.A18.2A33.A$150.A.A16.A.A29.3A$85.2A64.2A18.A29.A$85.2A84.
2A2$103.2A$103.A.A$105.A151.2A$105.2A145.2A2.A2.A$74.2A161.2A13.A.A2.
2A$69.2A2.A2.A159.A.A16.2A$69.A4.A.A84.A74.A19.A$66.2A.A5.A18.2A64.A.
A72.2A16.A2.A.2A$67.A.A.2A21.A.A63.A.A89.A.A.2A.A4.2A$66.A2.A2.A23.A
64.A91.A.A9.A$66.2A2.A4.A20.2A58.2A26.A69.A2.2A6.A.A$71.5A79.A.A26.3A
68.2A.3A5.2A$155.A31.A73.A$70.A.2A80.2A30.A.A66.2A.3A$70.2A.A112.A.A
66.2A.A$187.A$247.2A$238.2A7.2A16.2A$239.A25.2A4.2A$239.A.A29.2A$202.
2A36.2A$202.2A2$270.2A$260.2A4.2A2.2A$182.2A76.2A3.A.A$181.A.A81.A12.
2A$181.A82.2A11.A.A$142.A37.2A7.2A86.A$141.A.A45.2A85.2A$141.A.A101.A
$142.A54.2A.A43.A.A$197.2A.3A41.A.A$203.A41.A$197.2A.3A39.3A33.2A$
196.A2.2A41.A34.A.A$195.A.A79.A$194.A.A.2A.A74.2A$177.2A16.A2.A.2A$
178.A19.A$178.A.A16.2A$179.2A13.A.A2.2A$194.2A2.A2.A$132.2A65.2A$132.
2A42.A109.2A$175.A.A108.2A$150.2A23.A.A$150.A.A20.3A.2A114.A.2A$152.A
19.A120.2A.A$152.2A19.3A.2A$121.2A52.A.2A$116.2A2.A2.A151.2A$116.A4.A
.A46.2A104.A$113.2A.A5.A18.2A28.A18.2A84.A.A$114.A.A.2A21.A.A27.A.A
16.A.A84.2A$113.A2.A2.A23.A28.2A18.A$113.2A2.A4.A20.2A47.2A$118.5A
168.2A$291.A.A$117.A.2A172.A$117.2A.A172.2A4$182.A$181.A.A$181.A.A$
182.A105.2A273.2A$177.2A109.A274.A.A$176.A.A110.3A273.A4.2A$176.A114.
A269.4A.2A2.A2.A$175.2A384.A2.A.A.A.A.2A$564.A.A.A.A$565.2A.A.A$272.
2A295.A$271.A.A23.A$271.A23.3A257.2A$172.A97.2A22.A261.A7.2A$171.A.A
104.2A14.2A260.A.A5.2A17.A$171.A.A104.2A277.2A22.3A$172.A407.A$580.2A
3$588.2A$589.A$567.2A20.A.2A$545.2A20.A13.2A4.3A2.A$545.A2.A19.3A10.
2A3.A3.2A$297.2A247.5A14.3A2.A15.4A$292.2A2.A2.A251.A13.A2.A.A.2A15.A
$277.2A13.A.A2.2A249.3A12.A.A2.A2.A.A12.3A$162.2A112.A.A16.2A250.A15.
2A4.A.A13.A$162.2A112.A19.A250.4A19.2A14.5A$275.2A16.A2.A.2A245.2A3.A
3.2A32.A2.A$180.2A110.A.A.2A.A244.A2.3A4.2A34.2A$180.A.A110.A.A248.2A
.A$182.A111.A2.2A248.A$182.2A111.2A.3A246.2A$151.2A148.A$146.2A2.A2.A
141.2A.3A$146.A4.A.A141.2A.A256.2A$143.2A.A5.A18.2A383.A$144.A.A.2A
21.A.A113.2A264.3A$143.A2.A2.A23.A104.2A7.2A264.A$143.2A2.A4.A20.2A
104.A$148.5A126.A.A$280.2A$147.A.2A$147.2A.A2$300.2A$300.2A5$285.A$
284.A.A$284.A.A$285.A385.A.2A$282.3A386.2A.A$282.A257.A$538.3A128.5A$
537.A109.2A20.A4.A2.2A$536.A.A109.A23.A2.A2.A$536.A.A109.A.A21.2A.A.A
$537.A111.2A18.A5.A.2A$668.A.A4.A$668.A2.A2.2A$669.2A$638.2A$521.2A
116.A$276.A244.2A116.A.A$274.3A363.2A$273.A$273.2A383.2A$541.2A115.2A
$541.A.A$281.2A260.A$282.A251.2A7.2A$282.A.2A248.2A$274.2A4.3A2.A$
274.2A3.A3.2A239.A.2A$279.4A239.3A.2A$265.2A15.A238.A$234.2A28.A.A12.
3A240.3A.2A$234.A2.A26.A13.A245.2A2.A$235.5A14.2A7.2A14.5A243.A.A$
240.A13.A2.A23.A2.A238.A.2A.A.A118.A$237.3A12.A.A.2A25.2A238.2A.A2.A
16.2A100.A.A$236.A15.2A.A270.A19.A101.A.A$236.4A15.A270.2A16.A.A102.A
$234.2A3.A3.2A10.3A266.2A2.A.A13.2A$233.A2.3A4.2A13.A264.A2.A2.2A$
233.2A.A20.2A265.2A$236.A$236.2A$645.2A$645.A$244.2A397.A.A$245.A397.
2A$242.3A22.2A370.A$242.A17.2A5.A.A368.A.A$260.2A7.A368.A.A$269.2A
272.2A94.A$527.2A14.2A$256.A271.A22.2A$255.A.A.2A264.3A23.A$255.A.A.A
.A263.A23.A.A149.A.2A$252.2A.A.A.A.A2.A284.2A150.2A.A$252.A2.A2.2A.4A
$254.2A4.A438.5A$260.A.A365.2A47.2A20.A4.A2.2A$261.2A268.A97.A18.2A
28.A23.A2.A2.A$531.3A95.A.A16.A.A27.A.A21.2A.A.A$534.A95.2A18.A28.2A
18.A5.A.2A$533.2A115.2A46.A.A4.A$698.A2.A2.2A$643.2A.A52.2A$643.2A.3A
19.2A$649.A19.A$643.2A.3A20.A.A$644.A.A23.2A$528.2A114.A.A$529.A115.A
42.2A$529.A.A89.2A65.2A$530.2A88.A2.A2.2A$621.2A2.A.A13.2A$623.2A16.A
.A$544.2A77.A19.A$544.A.A73.2A.A2.A16.2A$546.A73.A.2A.A.A$546.2A76.A.
A$579.A41.2A2.A$577.3A39.3A.2A$526.A.2A46.A41.A$526.2A.A45.A.A41.3A.
2A$575.A.A43.A.2A54.A$535.2A39.A101.A.A$535.2A94.2A45.A.A$631.2A7.2A
37.A$640.A$638.A.A$560.2A76.2A$560.2A2$545.2A$545.A72.2A$543.A.A34.2A
36.2A$543.2A35.A.A$582.A$573.2A7.2A$573.2A$634.A$545.2A16.A.2A66.A.A
112.A.2A$545.A15.3A.2A66.A.A30.2A80.2A.A$543.A.A11.2A.A73.A31.A$543.
2A12.A3.3A.2A68.3A26.A.A79.5A$555.A.A5.2A2.A69.A26.2A58.2A20.A4.A2.2A
$551.2A2.2A9.A.A91.A64.A23.A2.A2.A$551.2A9.A.2A.A.A89.A.A63.A.A21.2A.
A.A$562.2A.A2.A16.2A72.A.A64.2A18.A5.A.2A$565.A19.A74.A84.A.A4.A$565.
2A16.A.A159.A2.A2.2A$550.2A11.2A2.A.A13.2A161.2A$550.2A4.2A4.A2.A2.2A
145.2A$556.2A5.2A151.A$716.A.A$717.2A2$649.2A84.2A$620.A29.A18.2A64.
2A$555.2A61.3A29.A.A16.A.A$555.A.A59.A33.2A18.A$557.A58.A.A52.2A$557.
2A57.A.A$582.2A33.A46.2A.A$566.2A14.2A80.2A.3A$567.A22.2A78.A$564.3A
23.A73.2A.3A$564.A23.A.A74.A.A$588.2A11.2A62.A.A$601.2A63.A$642.2A82.
A$641.A2.A2.2A76.A.A$570.A71.2A2.A.A13.2A61.A.A$570.3A48.2A21.2A16.A.
A61.A$573.A47.A.A20.A19.A$572.2A49.A17.2A.A2.A16.2A$614.2A7.2A16.A.2A
.A.A$614.2A29.A.A$642.2A2.A$604.A.2A32.3A.2A$602.3A.2A31.A$601.A38.3A
.2A$602.3A.2A34.A.2A$604.2A2.A$607.A.A42.2A$592.2A9.A.2A.A.A41.2A7.2A
$592.2A9.2A.A2.A51.A$606.A52.A.A$606.2A22.2A27.2A$604.2A2.A.A19.A$
603.A2.A2.2A17.A.A$604.2A22.2A.2A$631.A7.2A$631.A.A5.2A$608.2A20.2A.
3A$577.2A30.A26.A$577.2A30.A.A18.2A.2A2.A$610.2A18.2A.A.2A$635.A19.A$
635.A18.A.A$633.A.2A17.A.A$633.2A2.A17.A$611.2A23.2A18.3A$612.A45.A$
609.3A$609.A2$694.2A$633.2A59.A$633.A58.A.A$634.3A55.2A$636.A51.A$
608.A78.A.A$608.3A76.A.A$611.A76.A$610.2A3$653.A$651.3A$650.A$649.A.A
$649.A.A25.2A$650.A27.A18.2A$678.A.A16.A.A$630.2A47.2A18.A$630.2A67.
2A2$634.2A56.2A.A$634.2A56.2A.3A$698.A$692.2A.3A$693.A.A$654.2A37.A.A
$654.A.A37.A$615.2A39.A13.2A$615.2A30.2A7.2A11.A2.A2.2A$647.2A21.2A2.
A.A13.2A$672.2A16.A.A$637.A.2A31.A19.A$635.3A.2A28.2A.A2.A16.2A$634.A
34.A.2A.A.A$635.3A.2A32.A.A$637.2A2.A28.2A2.A$640.A.A25.3A.2A$636.A.
2A.A.A23.A$636.2A.A2.A16.2A7.3A.2A$639.A19.A10.A.2A$639.2A16.A.A$637.
2A2.A.A13.2A21.2A$636.A2.A2.2A36.2A7.2A$637.2A50.A$687.A.A$687.2A4$
667.2A$667.2A3$656.2A$640.2A14.2A$641.A22.2A17.A$638.3A23.A17.A.A$
638.A23.A.A17.A.A$662.2A19.A10.2A$684.3A6.2A$686.A8.A2$644.A$644.3A$
647.A$646.2A6$662.2A$662.A$660.A.A$660.2A5$659.2A$640.2A17.A$641.A18.
3A$638.3A21.A$638.A5$643.2A$642.A.A$642.A$641.2A92$818.3A$818.A3B$
819.A2B$820.2B!

User avatar
dvgrn
Moderator
Posts: 10565
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Splitters with common SL

Post by dvgrn » October 14th, 2015, 9:54 am

chris_c wrote:Some while ago I made a more up to date version of [the stable clock-based glider inserter]. It's a lot better than the original but there were still two things that bugged me. First, I think the last pair of inserters can be done a lot better. Second, the fact that the design has glider crossings means the repeat time is somewhere just short of 500 ticks.
I think I'll pass on trying my hand at that construction for the time being, in case an improved recipe shows up. I'd be tempted to build an edge-shooter with adjustable clearance, though of course it would be bigger than your version: build a clock and a spark-making bait by colliding an LWSS with some number of gliders, and then send the trigger glider in at the right time.

Not sure if that would make it easier to write a universal salvo gun script, or not. It would be possible to send a trigger signal down just one side of the construction lane, with no synchronization needed between two opposing sets of guns. But stable LWSS-makers are still pretty awkward, either huge or slow to recover or probably both.

Anyway, here's a spark-making boat elimination reaction from pentadecathlon.com, that allows a glider insertion into a fairly narrow pocket, which can be as deep as you want:

Code: Select all

x = 131, y = 71, rule = B3/S23
121bo$119b2o$58bobo59b2o$58b2o5bo$59bo3b2o51bobo4bobo$56bo7b2o50b2o5b
2o$54b2o61bo6bo$55b2o3bobo51bo6bo6bo$60b2o5bo44b2o5b2o7bobo$51bobo7bo
5bobo43b2o5b2o6b2o$51b2o6bo7b2o49bo6bo$48bo3bo11bo44bobo12bo$46b2o15bo
45b2o13b3o$47b2o14b3o44bo$107bo13bo$43bobo14bo44b2o14bobo$43b2o15bobo
43b2o13b2o$44bo15b2o$41bo15bo44bobo$39b2o15bo45b2o16bo$40b2o14b3o44bo
15bo$100bo18b3o$36bobo14bo44b2o$36b2o15bobo43b2o15bo$37bo15b2o61bobo$
34bo15bo44bobo18b2o$32b2o15bo45b2o16bo$33b2o14b3o44bo15bo$112b3o$46bo$
46bobo60bo$46b2o61bobo$43bo65b2o$42bo63bo$34bo7b3o49bo10bo$32b2o58b2o
11b3o$34b2o58b2o$33bo59bo2$30b2o58b2o$29bobo57bobo$30bo59bo24$2o$b2o$o
$64b2o$65b2o$64bo!
This isn't entirely an improvement on the last sample pattern. Obviously some of the gliders moved closer, but a key glider at one corner of the pocket or the other had to move away slightly.

So... is there a constellation that can provide the clock-conversion spark, that fits directly behind the clock, and allows the trigger glider to come in from directly behind the clock as well?

User avatar
dvgrn
Moderator
Posts: 10565
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Splitters with common SL

Post by dvgrn » October 14th, 2015, 1:04 pm

dvgrn wrote:So... is there a constellation that can provide the clock-conversion spark, that fits directly behind the clock, and allows the trigger glider to come in from directly behind the clock as well?
It looks like the boat annihilation may be hard to beat. I'm interested in minimizing the number of cases that need to be enumerated to complete a formal proof.

One of the versions of the boat annihilation stays inside a width-7 diagonal stripe. The other version needs a width-9 stripe, but it may be even better because the glider ends up on the edge of the stripe instead of in the middle:

Code: Select all

x = 81, y = 18, rule = LifeHistory
11.D.A19.A19.A19.A$10.D2.A.A16.DA.A16.DA.A16.DA.A$9.D2.A.A16.DA.A16.D
A.A16.DA.A$8.D5.A15.D3.A15.D3.A15.D3.A$7.D5.D15.D19.D9.D9.D$6.D3.2AD
15.D.2A16.D9.D9.D11.D$5.D3.A.A15.D.A.A3.D11.D2.A6.D9.D11.D$4.D5.A15.D
3.A3.D11.D3.A5.D9.D11.D$3.D5.D15.D7.D11.D4.A4.D9.D4.3A4.D$2.D5.D23.D
11.D9.D9.D11.D$.2A4.D23.D21.D21.D$A.A27.D16.3A2.D16.A4.D$2.A26.D39.A
3.D$25.2A.D40.A$24.A.AD$26.A15.3A19.A$44.A19.2A$43.A19.A.A!
It's possible to sneak up on the clock with a spark from a more distant constellation, as in the two-blinker examples on the right. But so far it appears that that just widens the stripe without really improving anything.

With any of several variants of that edge-of-stripe return glider, it seems as if you can add a glider to the south/southwest edge of an existing salvo, without having to worry about gliders to the northwest or north. If the glider can be added at all, then the insertion will work.

It looks like it might be simplest to complete a proof using a slope of 1/2 -- Cartesian slope of -1/2, I guess I should say. The claim is that this insertion reaction can always add the SE-most glider, of the gliders in a salvo that first touch an arbitrary line with that slope:

Code: Select all

x = 74, y = 31, rule = LifeHistory
17.A$15.2A45.A$16.2A42.2A5.A$61.2A4.A.A$6.2D11.A.A30.2D13.2A$8.2D.A.A
5.2A33.2D.A.A$10.DCA7.A5.A29.DCA12.A$12.CD3.A6.2A32.CD2.A8.A.A$14.D2A
8.2A33.DA9.2A$15.DCA4.A38.2CA2.A.A$14.A2.2D.2A41.2D.2A$19.2D2A37.A4.
2DA$21.2D44.2D$23.2D44.2D$10.A14.2D28.A15.2D$8.2A45.A.A$10.2A42.A.A$
9.A46.A2$6.2A44.2A$5.A.A43.A.A$6.A45.A7$2A44.3A$.2A45.A$A46.A!
There are a few more worrisome cases to enumerate, but it looks like they all work (?). This is pretty much the exact approach that chris_c's script uses, and there are quite a wide range of line slopes that could be chosen. Unfortunately a nice simple slope of 1 is too high, though, and a slope of 0 is too low.

-- I'm just trying to boil down the explanation of why the insertion always works, to the smallest number of cases. Anyone see a cleaner way to tackle a proof? Possibly having a choice of two different insertion reactions might end up simplifying the proof somehow, but I don't see it yet.

chris_c
Posts: 966
Joined: June 28th, 2014, 7:15 am

Re: Splitters with common SL

Post by chris_c » October 14th, 2015, 2:18 pm

dvgrn wrote:I'd be tempted to build an edge-shooter with adjustable clearance, though of course it would be bigger than your version: build a clock and a spark-making bait by colliding an LWSS with some number of gliders, and then send the trigger glider in at the right time.
Woah, sounds scary. I have never been able to find any clock syntheses except for the symmetric one with 6 gliders. Making a clock with only LWSS and gliders and then triggering it sounds hard indeed.
dvgrn wrote:It looks like the boat annihilation may be hard to beat.
Agreed. I can't get anything to work that is thinner.
dvgrn wrote:I'm just trying to boil down the explanation of why the insertion always works, to the smallest number of cases. Anyone see a cleaner way to tackle a proof?
In terms of Cartesian co-ordinates my script uses a slope of 1 in 3 and I consider this to be the cleanest way of doing things because of the existence of the following 4 glider inserter that works except on a small handful of lanes:

Code: Select all

x = 69, y = 61, rule = B3/S23
15bo$13b2o$14b2o3bo$19bobo$19b2o3bobo$24b2o4bo$25bo3bo$29b3o4bo$34b2o$
35b2o$46bo$45bo$bo43b3o4bo$2bo47b2o$3o48b2o3bo$56bobo$56b2o3bobo$7bobo
51b2o4bo$8b2o52bo3bo$8bo57b3o31$36b3o$36bo$37bo6$36b3o$36bo$37bo!
It is important to note that the gliders to the NW of the inserted glider are exactly on the line of slope 3 but the gliders to the SE are one tick behind it.
dvgrn wrote:Possibly having a choice of two different insertion reactions might end up simplifying the proof somehow, but I don't see it yet.
I have never been able to make a complete proof that didn't use the clock inserter so, if we are talking purely formally, I think alternative inserters just complicate the argument.

EDIT: P.S. Cartesian slope 3 simply corresponds to a one tick advancement for each lane. Slope 2 corresponds to 2 ticks advancement every 3 lanes. That is another reason I favour slope 3 over slope 2.

Post Reply