## "Fast Salvos"

For discussion of specific patterns or specific families of patterns, both newly-discovered and well-known.

### "Fast Salvos"

This thread is to talk about "fast salvos". In other words, salvos that need timing to work.

Currently, I'm trying to find a reasonably small salvo that pushes a block (or anything else) by (15,15), and emits at least one glider heading in the opposite direction from the salvo, but no gliders in the same direction as the salvo.
I Like My Heisenburps! (and others)

Extrementhusiast

Posts: 1735
Joined: June 16th, 2009, 11:24 pm
Location: USA

### Re: "Fast Salvos"

Extrementhusiast wrote:Currently, I'm trying to find a reasonably small salvo that pushes a block (or anything else) by (15,15), and emits at least one glider heading in the opposite direction from the salvo, but no gliders in the same direction as the salvo.

What's your upper limit for the size of the salvo? I have collections of recipes that include lots of ways to do that, but not very efficiently -- ten or a dozen gliders, it looks like.

dvgrn
Moderator

Posts: 5222
Joined: May 17th, 2009, 11:00 pm

### Re: "Fast Salvos"

I'm looking for something on the order of five gliders. (Moves that produce a sideways glider are also OK; the last glider can just be kicked back.)
I Like My Heisenburps! (and others)

Extrementhusiast

Posts: 1735
Joined: June 16th, 2009, 11:24 pm
Location: USA

### Re: "Fast Salvos"

Extrementhusiast wrote:I'm looking for something on the order of five gliders.

I tried writing a script to run random combinations of three gliders and see how often a good push reaction would come along. So far the results haven't been terribly promising, but clearly there's a lot of space to search. The most likely reaction I saw was probably

`x = 22, y = 14, rule = LifeHistory2C2.2A\$2C2.A.A\$4.A8\$12.2A\$12.A.A4.2A\$12.A6.A.A\$19.A!`

but you're not likely to get exactly to (+15,+15) plus a return glider by slightly extending this salvo. I did get to (+26,+24) with three more gliders, though, so you never know! Maybe it's worth looking for salvos that leave a boat in the relative location that you want:

`x = 62, y = 58, rule = LifeHistory2C\$2C3.2A\$4.2A\$6.A8\$13.2A\$12.2A6.2A\$14.A4.2A\$21.A36\$47.2A10.3A\$46.2A11.A\$48.A11.A3\$51.3A\$51.A\$52.A!`

EDIT: Okay, along the above lines -- how does this seven-glider salvo look (besides a couple of gliders too many)?

`x = 63, y = 75, rule = LifeHistory.2C\$.2C3\$2A\$A.A\$A4\$16.2A\$16.A.A\$16.A6\$16.2A\$15.2A\$17.A8\$25.A\$24.2A\$24.A.A15\$35.A\$34.2A\$34.A.A14\$42.A\$41.2A\$41.A.A9\$61.A\$60.2A\$60.A.A!`

EDIT 2: Make that six gliders. The versions on the right put out extra sideways gliders, if you need a better offset for the return glider and want to spend an extra glider on the kickback. There are a few other workable locations for the fifth glider that do the same cleanup.

`x = 273, y = 75, rule = LifeHistory.2C108.2C98.2C\$.2C108.2C98.2C3\$2A108.2A98.2A\$A.A107.A.A97.A.A\$A109.A99.A4\$16.2A108.2A98.2A\$16.A.A107.A.A97.A.A\$16.A109.A99.A6\$16.2A108.2A98.2A\$15.2A108.2A98.2A\$17.A109.A99.A8\$25.A109.A99.A\$24.2A108.2A98.2A\$24.A.A107.A.A97.A.A7\$147.3A\$147.A\$148.A5\$31.3A\$31.A209.3A\$32.A208.A\$242.A25\$61.A109.A99.A\$60.2A108.2A98.2A\$60.A.A107.A.A97.A.A!`

dvgrn
Moderator

Posts: 5222
Joined: May 17th, 2009, 11:00 pm

### Re: "Fast Salvos"

I'm deciding to revisit this problem, with a bit of a difference. Is it possible to have a three-glider salvo to move it five spaces diagonally, with the same restrictions otherwise?
I Like My Heisenburps! (and others)

Extrementhusiast

Posts: 1735
Joined: June 16th, 2009, 11:24 pm
Location: USA

### Re: "Fast Salvos"

Diagonally in which direction relative to the salvo?
Ivan Fomichev

codeholic
Moderator

Posts: 1141
Joined: September 13th, 2011, 8:23 am
Location: Hamburg, Germany

### Re: "Fast Salvos"

Pushing, as stated above.
I Like My Heisenburps! (and others)

Extrementhusiast

Posts: 1735
Joined: June 16th, 2009, 11:24 pm
Location: USA

### Re: "Fast Salvos"

EDIT: Any restriction on the duration of the reaction?
Ivan Fomichev

codeholic
Moderator

Posts: 1141
Joined: September 13th, 2011, 8:23 am
Location: Hamburg, Germany

### Re: "Fast Salvos"

No additional junk is allowed. Reaction length can be any amount of time. Anything can be pushed.
I Like My Heisenburps! (and others)

Extrementhusiast

Posts: 1735
Joined: June 16th, 2009, 11:24 pm
Location: USA

### Re: "Fast Salvos"

Here you are:
`x = 12, y = 14, rule = B3/S232o\$2o4b2o\$6bobo\$6bo4\$5b2o\$5bobo\$5bo2\$9b3o\$9bo\$10bo!`
Ivan Fomichev

codeholic
Moderator

Posts: 1141
Joined: September 13th, 2011, 8:23 am
Location: Hamburg, Germany

### Re: "Fast Salvos"

I wonder, if one can build a spaceship out of blockic seeds and fast salvos like following:

2G+B->2G+B
`x = 212, y = 12, rule = B3/S232o98b2o98b2o\$2o98b2o98b2o\$6b2o98b2o\$6bobo97bobo97b2o\$6bo99bo99bobo\$206bo2\$4b2o124b2o\$4bobo123bobo\$4bo125bo79b2o\$209b2o\$211bo!`

2G+B->2G+2B
`x = 17, y = 13, rule = B3/S232o\$2o\$6b2o\$6bobo\$6bo6\$15b2o\$14b2o\$16bo!`

2G+B->2G
`x = 128, y = 14, rule = B3/S232o98b2o\$2o98b2o\$6b2o98b2o\$6bobo97bobo\$6bo99bo6\$126bo\$25b2o98b2o\$25bobo97bobo\$25bo!`
Ivan Fomichev

codeholic
Moderator

Posts: 1141
Joined: September 13th, 2011, 8:23 am
Location: Hamburg, Germany

### Re: "Fast Salvos"

A faster one (and the search is still running):
`x = 15, y = 27, rule = B3/S232o\$2o2\$6b2o\$6bobo\$6bo8\$10b2o\$9b2o\$11bo9\$12b3o\$12bo\$13bo!`
Ivan Fomichev

codeholic
Moderator

Posts: 1141
Joined: September 13th, 2011, 8:23 am
Location: Hamburg, Germany

### Re: "Fast Salvos"

What about four or five-glider searches on 15-space pushes?

EDIT: 23-space pushes would also work, but that may be getting to be a bit too far.
I Like My Heisenburps! (and others)

Extrementhusiast

Posts: 1735
Joined: June 16th, 2009, 11:24 pm
Location: USA

### Re: "Fast Salvos"

I'm afraid that anything more than a superficial search involving 5+ colliding objects is out of the reach of gencols. I think it's more probable to find (15, 15) block pusher with 3 gliders. Unfortunately I don't have a spare machine to start the search right away. Are you interested in more results of (5, 5) search or shall I stop it and run a new one?
Ivan Fomichev

codeholic
Moderator

Posts: 1141
Joined: September 13th, 2011, 8:23 am
Location: Hamburg, Germany

### Re: "Fast Salvos"

Stop and run a new one.
I Like My Heisenburps! (and others)

Extrementhusiast

Posts: 1735
Joined: June 16th, 2009, 11:24 pm
Location: USA

### Re: "Fast Salvos"

codeholic wrote:I wonder, if one can build a spaceship out of blockic seeds and fast salvos...

Alan Hensel mentioned something very much like this a few months ago -- he called them "fluff relays". Seems to me that, while it's certainly possible that such a spaceship exists, the odds are pretty low of actually finding a combination of seeds where all the input and output gliders line up

The simplest case that would produce a spaceship might be two groups of blocks with a glider shuttling back and forth between them. Each collision re-creates that same pattern of blocks at some offset (X,Y) and creates a 180-degree return glider that lines up with the opposite input. The two block constellations have to be different from each other -- the glider in one direction has to do a "push" and the other one a "pull" of the exact same size. Otherwise it's some kind of growing pattern, not a normal spaceship.

Fulfilling even one of the above conditions strikes me as wildly improbable. Fulfilling all of them together seems like just plain too much to hope for, so I think I'll stick with search projects that have a better chance of succeeding.

That said, I would love to see a "fluff database" with a few billion records in it -- I'm sure one could find some impressive cycles, some variant of A --> B --> C --> A as Alan Hensel described... but it seems like you'd have to look at millions of different cycles before you found one where all the gliders would line up properly.

dvgrn
Moderator

Posts: 5222
Joined: May 17th, 2009, 11:00 pm

### Re: "Fast Salvos"

I've found a (-15, -15) block pusher with 5 gliders.
`x = 27, y = 35, rule = B3/S232o\$2o7\$6b2o\$6bobo\$6bo6\$10bo\$9b2o\$9bobo3\$18b2o\$18bobo4bo\$18bo5b2o\$24bobo8\$11b3o\$11bo\$12bo!`

EDIT: By the way, there are two alternative (-3, 5) 2-glider block pushers that could be used (but they stabilize later):
`x = 61, y = 19, rule = B3/S232o48b2o\$2o48b2o7\$6b2o46b2o\$6bobo45bobo\$6bo47bo4\$59b2o\$58b2o\$10b2o48bo\$10bobo\$10bo!`

EDIT: The second alternative is somewhat special, because the return glider does not interact with any salvos, that might be still in flight. Though probably it does not matter for your goal.
`x = 77, y = 85, rule = B3/S232o\$2o7\$4b2o\$4bobo\$4bo4\$9b2o\$8b2o\$10bo5\$18b2o\$18bobo4bo\$18bo5b2o\$24bobo8\$11b3o\$11bo\$12bo24\$54b2o\$54bobo\$54bo4\$59b2o\$58b2o\$60bo5\$68b2o\$68bobo4bo\$68bo5b2o\$74bobo8\$61b3o\$61bo\$62bo!`
Last edited by codeholic on September 4th, 2013, 3:28 am, edited 2 times in total.
Ivan Fomichev

codeholic
Moderator

Posts: 1141
Joined: September 13th, 2011, 8:23 am
Location: Hamburg, Germany

### Re: "Fast Salvos"

dvgrn wrote:Alan Hensel mentioned something very much like this a few months ago -- he called them "fluff relays".

Well, the idea with one glider is not new. Gabriel Nivasch even wrote a script once, that searches for such kind of collisions: http://www.gabrielnivasch.org/fun/life/

I wondered, if another approach could be more promising, namely instead of getting variance on the stable part of the pattern, to get it from different glider constellations, and use a single block as a target. But probably, it's not.
Ivan Fomichev

codeholic
Moderator

Posts: 1141
Joined: September 13th, 2011, 8:23 am
Location: Hamburg, Germany

### Re: "Fast Salvos"

Another approach gave other 5 5-glider (-15, -15) block pushers:
`x = 248, y = 53, rule = B3/S232o48b2o48b2o48b2o48b2o\$2o7b2o39b2o48b2o48b2o48b2o\$9bobo44b2o98b2o48b2o\$9bo46bobo47b2o48bobo47bobo\$28bo27bo49bobo47bo49bo\$27b2o77bo\$b3o23bobo86b3o\$bo114bo\$2bo114bo3\$68b3o103b3o41b3o\$68bo105bo43bo\$63b2o4bo105bo37b2o4bo\$63bobo147bobo\$63bo149bo5\$173b3o\$121bo51bo\$120b2o52bo\$120bobo3\$40b2o\$40bobo\$40bo3\$95b2o148b2o\$95bobo147bobo\$95bo149bo2\$39b3o\$39bo110b2o\$40bo109bobo\$150bo2\$94b3o147b3o\$94bo110b2o37bo\$95bo109bobo37bo\$205bo2\$149b3o\$149bo\$150bo3\$204b3o\$204bo\$205bo!`

I found no 5-glider (-23, -23) block pushers, but plenty of 6-glider pushers, e. g.
`x = 57, y = 23, rule = B3/S2312b3o\$2o10bo\$2o11bo\$6b2o\$6bobo\$6bo4\$20bo\$19b2o\$19bobo7\$36b2o\$36bobo7b2o\$36bo8b2o7b2o\$47bo6bobo\$54bo!`

If you're interested in more of them, I'll write a script to display them.
Ivan Fomichev

codeholic
Moderator

Posts: 1141
Joined: September 13th, 2011, 8:23 am
Location: Hamburg, Germany

### Re: "Fast Salvos"

This is the result.
I Like My Heisenburps! (and others)

Extrementhusiast

Posts: 1735
Joined: June 16th, 2009, 11:24 pm
Location: USA

### Re: "Fast Salvos"

Is necroposting frowned upon at these forums? This post is relevant to the topic, so I think it'd be better to bump this thread than make a new one. I've tried using gencols for these, but -filt, -leq and -geq seem to have no effect on the output - I'm using the Windows executable dvgrn posted in 2013 - and I'd rather not have to manually search through the results.

I'm currently looking for both a two-unit-push salvo and a two-unit pull that use only two gliders and don't return anything. There are probably hundreds of them, but I haven't found anything by hand.

Also, what's the largest distance that a block can be both pushed and pulled with three gliders (again without a return glider)? It would help if it were a factor or multiple of a common period, specifically 46 or 30.
gamer54657 wrote:God save us all.
God save humanity.

hgkhjfgh

nutshelltlifeDiscord 'Conwaylife Lounge'
M. I. Wright

Posts: 371
Joined: June 13th, 2015, 12:04 pm

### Re: "Fast Salvos"

M. I. Wright wrote:I'm currently looking for both a two-unit-push salvo and a two-unit pull that use only two gliders and don't return anything. There are probably hundreds of them, but I haven't found anything by hand.

I don't think there are hundreds -- hundreds of block moves, certainly, but not ones that keep the block on the same diagonal. The two-glider search space isn't big enough, though the three-glider space should be.

M. I. Wright wrote:Also, what's the largest distance that a block can be both pushed and pulled with three gliders (again without a return glider)? It would help if it were a factor or multiple of a common period, specifically 46 or 30.

Paul Chapman did some work along these general lines, several years ago, but the idea quickly changed to allow multiple "cycles" of gliders, as long as they came in the right-sized groups and on the same three lanes. Then it turned out that triplets of gliders were overkill -- you could make a Geminoid construction arm with pairs of gliders on just two lanes.

I wouldn't be surprised if there's a PUSH3 with three gliders (PULL3 is trivial). But PUSH2 and PULL2 are much more likely to exist, and PUSH1 and PULL1 are the only ones I'd really bet on. PULL6 and (especially) PUSH6 seem a little overoptimistic to hope for, from just three gliders... not that I would mind being pleasantly surprised.

I'm curious about what went wrong when you tried gencols -- and it's probably time for me to remind myself how gencols works, anyway. Here goes:

If there's going to be a push or pull reaction, one of the gliders will have to hit the block. So let's start there.

First I tried

gencols -pat obj/block.life obj/glider_nw.life -tc 20 20 -filt 1 > glider-block-collisions.life

but that was wrong -- the fifth line gave me a "reaction" where the glider missed the block completely. Eventually I figured out that gencols only seems to apply filters and -geq and -leq parameters when there's a "-gen" target setting. So you get better results from

gencols -pat obj/block.life obj/glider_nw.life -tc 20 20 -filt 12 -gen 256 > glider-block-collisions.life

The output format is a little annoying -- you get the final pattern packed onto the same line with the initial pattern, separated by a space. I use a text editor with regular-expression search and replace to delete everything after the space in all the lines, when I don't need that information -- or delete everything before the space, if I only want to work with the output. Here's a cleaned-up version to use for the next step:

glider-block-collisions.life:
`**!**!!!!!!!....**!....*.*!....*!**!**!!!!!!!......**!......*.*!......*!**!**!!!!!!!...**!...*.*!...*!**!**!!!!!!!.....**!.....*.*!.....*!**!**!!!!!!!.......**!.......*.*!.......*!`

Hit those five reactions with another NW glider:

gencols -pat glider-block-collisions.life obj/glider_nw.life -tc 20 80 -filt 1 -nph 4 -geq 4 -leq 4 -gen 512 > block-outputs.life

and you get 352 passing reactions, many of which are trivial variants of the 3-step two-glider block pull (and a few more are tubs, which gencols doesn't have a filter to exclude):

`x = 29, y = 10258, rule = LifeHistory2C\$2C2\$9.2C\$9.C.C\$9.C3\$4.2C\$4.C.C\$4.C12\$2C\$2C7\$4.2C\$4.C.C\$4.C3\$3.2C\$3.C.C\$3.C12\$2C\$2C7\$4.2C\$4.C.C\$4.C2\$9.2C\$9.C.C\$9.C12\$2C\$2C7\$4.2C\$4.C.C\$4.C\$10.2C\$10.C.C\$10.C12\$2C\$2C7\$4.2C\$4.C.C\$4.C5\$3.2C\$3.C.C\$3.C12\$2C\$2C7\$4.2C\$4.C.C\$4.C5\$5.2C\$5.C.C\$5.C12\$2C\$2C7\$4.2C\$4.C.C\$4.C4\$10.2C\$10.C.C\$10.C12\$2C\$2C7\$4.2C\$4.C.C\$4.C3\$8.2C\$7.2C\$9.C12\$2C\$2C7\$4.2C\$4.C.C\$4.C4\$9.2C\$8.2C\$10.C12\$2C\$2C7\$4.2C\$4.C.C\$4.C5\$8.2C\$7.2C\$9.C12\$2C\$2C7\$4.2C\$4.C.C\$4.C4\$4.3C\$4.C\$5.C12\$2C\$2C7\$4.2C\$4.C.C\$4.C3\$11.3C\$11.C\$12.C12\$2C\$2C6\$11.3C\$4.2C5.C\$4.C.C5.C\$4.C12\$2C\$2C7\$4.2C\$4.C.C\$4.C7\$8.3C\$8.C\$9.C12\$2C\$2C5\$10.C\$9.2C\$4.2C3.C.C\$4.C.C\$4.C12\$2C\$2C6\$10.C\$4.2C3.2C\$4.C.C2.C.C\$4.C12\$2C\$2C7\$4.2C4.C\$4.C.C2.2C\$4.C4.C.C12\$2C\$2C7\$4.2C\$4.C.C5.C\$4.C6.2C\$11.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C3\$8.2C\$8.C.C\$8.C12\$2C\$2C3\$11.2C\$11.C.C\$11.C2\$6.2C\$6.C.C\$6.C12\$2C\$2C7\$6.2C4.2C\$6.C.C3.C.C\$6.C5.C12\$2C\$2C7\$6.2C\$6.C.C4.2C\$6.C6.C.C\$13.C12\$2C\$2C6\$15.2C\$6.2C7.C.C\$6.C.C6.C\$6.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C4\$13.2C\$13.C.C\$13.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C6\$10.2C\$10.C.C\$10.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C6\$6.2C\$6.C.C\$6.C12\$2C\$2C7\$6.2C\$6.C.C7.2C\$6.C9.C.C\$16.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C6\$11.2C\$11.C.C\$11.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C3\$16.2C\$16.C.C\$16.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C7\$8.2C\$8.C.C\$8.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C8\$8.2C\$8.C.C\$8.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C4\$16.2C\$16.C.C\$16.C12\$2C\$2C7\$6.2C\$6.C.C8.2C\$6.C10.C.C\$17.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C2\$17.2C\$17.C.C\$17.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C9\$11.2C\$11.C.C\$11.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C7\$15.2C\$15.C.C\$15.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C5\$3.2C\$3.C.C\$3.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C11\$12.2C\$12.C.C\$12.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C10\$15.2C\$15.C.C\$15.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C10\$17.2C\$17.C.C\$17.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C3\$10.2C\$9.2C\$11.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C2\$11.2C\$10.2C\$12.C12\$2C\$2C6\$15.2C\$6.2C6.2C\$6.C.C7.C\$6.C12\$2C\$2C5\$14.2C\$13.2C\$6.2C7.C\$6.C.C\$6.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C4\$4.2C\$3.2C\$5.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C5\$5.2C\$4.2C\$6.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C6\$7.2C\$6.2C\$8.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C7\$10.2C\$9.2C\$11.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C6\$6.2C\$5.2C\$7.C12\$2C\$2C7\$6.2C\$6.C.C7.2C\$6.C8.2C\$17.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C7\$11.2C\$10.2C\$12.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C7\$13.2C\$12.2C\$14.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C6\$15.2C\$14.2C\$16.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C7\$5.2C\$4.2C\$6.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C9\$7.2C\$6.2C\$8.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C10\$10.2C\$9.2C\$11.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C8\$15.2C\$14.2C\$16.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C8\$17.2C\$16.2C\$18.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C9\$17.2C\$16.2C\$18.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C4\$6.3C\$6.C\$7.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C5.3C\$12.C\$13.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C3\$2.3C\$2.C\$3.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C\$15.3C\$15.C\$16.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C4\$15.3C\$15.C\$16.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C5\$3.3C\$3.C\$4.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C8\$10.3C\$10.C\$11.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C9\$10.3C\$10.C\$11.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C10\$11.3C\$11.C\$12.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C10\$8.3C\$8.C\$9.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C12\$9.3C\$9.C\$10.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C11\$15.3C\$15.C\$16.C12\$2C\$2C3\$12.C\$11.2C\$11.C.C2\$6.2C\$6.C.C\$6.C12\$2C\$2C7\$6.2C4.C\$6.C.C2.2C\$6.C4.C.C12\$2C\$2C7\$6.2C\$6.C.C3.C\$6.C4.2C\$11.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C3\$10.C\$9.2C\$9.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C4\$6.C\$5.2C\$5.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C5\$9.C\$8.2C\$8.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C5\$13.C\$12.2C\$12.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C5\$12.C\$11.2C\$11.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C4\$14.C\$13.2C\$13.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C6\$10.C\$9.2C\$9.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C8\$10.C\$9.2C\$9.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C5\$16.C\$15.2C\$15.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C6\$5.C\$4.2C\$4.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C3\$18.C\$17.2C\$17.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C9\$9.C\$8.2C\$8.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C10\$16.C\$15.2C\$15.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C7\$17.C\$16.2C\$16.C.C12\$2C\$2C7\$6.2C\$6.C.C\$6.C12\$14.C\$13.2C\$13.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4.2C\$8.C.C\$8.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$.2C\$.C.C\$.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$2.2C\$2.C.C\$2.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C\$9.2C\$9.C.C\$9.C12\$2C\$2C6\$12.2C\$3.2C7.C.C\$3.C.C6.C\$3.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$7.2C\$7.C.C\$7.C12\$2C\$2C7\$3.2C8.2C\$3.C.C7.C.C\$3.C9.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$8.2C\$8.C.C\$8.C12\$2C\$2C7\$3.2C\$3.C.C8.2C\$3.C10.C.C\$14.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$9.2C\$9.C.C\$9.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C11.2C\$15.C.C\$15.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$10.2C\$10.C.C\$10.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C\$16.2C\$16.C.C\$16.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$11.2C\$11.C.C\$11.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C2\$17.2C\$17.C.C\$17.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$12.2C\$12.C.C\$12.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$18.2C\$18.C.C\$18.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$13.2C\$13.C.C\$13.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$19.2C\$19.C.C\$19.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C10\$14.2C\$14.C.C\$14.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$20.2C\$20.C.C\$20.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C11\$15.2C\$15.C.C\$15.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$21.2C\$21.C.C\$21.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C12\$16.2C\$16.C.C\$16.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$22.2C\$22.C.C\$22.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C13\$17.2C\$17.C.C\$17.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$23.2C\$23.C.C\$23.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C14\$18.2C\$18.C.C\$18.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$24.2C\$24.C.C\$24.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C15\$19.2C\$19.C.C\$19.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C\$8.2C\$7.2C\$9.C12\$2C\$2C7\$3.2C5.2C\$3.C.C3.2C\$3.C7.C12\$2C\$2C6\$12.2C\$3.2C6.2C\$3.C.C7.C\$3.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$7.2C\$6.2C\$8.C12\$2C\$2C7\$3.2C8.2C\$3.C.C6.2C\$3.C10.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$8.2C\$7.2C\$9.C12\$2C\$2C7\$3.2C\$3.C.C8.2C\$3.C9.2C\$15.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$9.2C\$8.2C\$10.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C11.2C\$14.2C\$16.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$10.2C\$9.2C\$11.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C\$16.2C\$15.2C\$17.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$11.2C\$10.2C\$12.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C2\$17.2C\$16.2C\$18.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$12.2C\$11.2C\$13.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$18.2C\$17.2C\$19.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$13.2C\$12.2C\$14.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$19.2C\$18.2C\$20.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C10\$14.2C\$13.2C\$15.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$20.2C\$19.2C\$21.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C11\$15.2C\$14.2C\$16.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$21.2C\$20.2C\$22.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C12\$16.2C\$15.2C\$17.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$22.2C\$21.2C\$23.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C13\$17.2C\$16.2C\$18.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$23.2C\$22.2C\$24.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C14\$18.2C\$17.2C\$19.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$24.2C\$23.2C\$25.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C15\$19.2C\$18.2C\$20.C12\$2C\$2C4\$9.3C\$9.C\$10.C\$3.2C\$3.C.C\$3.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6.3C\$10.C\$11.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$6.3C\$6.C\$7.C12\$2C\$2C6\$11.3C\$3.2C6.C\$3.C.C6.C\$3.C12\$2C\$2C7\$3.2C7.3C\$3.C.C6.C\$3.C9.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$7.3C\$7.C\$8.C12\$2C\$2C7\$3.2C\$3.C.C7.3C\$3.C9.C\$14.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$8.3C\$8.C\$9.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C10.3C\$14.C\$15.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$9.3C\$9.C\$10.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C\$15.3C\$15.C\$16.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$10.3C\$10.C\$11.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C2\$16.3C\$16.C\$17.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$11.3C\$11.C\$12.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$17.3C\$17.C\$18.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$12.3C\$12.C\$13.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$18.3C\$18.C\$19.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C10\$13.3C\$13.C\$14.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$19.3C\$19.C\$20.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C11\$14.3C\$14.C\$15.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$20.3C\$20.C\$21.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C12\$15.3C\$15.C\$16.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$21.3C\$21.C\$22.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C13\$16.3C\$16.C\$17.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$22.3C\$22.C\$23.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C14\$17.3C\$17.C\$18.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$23.3C\$23.C\$24.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C15\$18.3C\$18.C\$19.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C10\$24.3C\$24.C\$25.C12\$2C\$2C4\$10.C\$9.2C\$9.C.C\$3.2C\$3.C.C\$3.C12\$2C\$2C7\$3.2C\$3.C.C4.C\$3.C5.2C\$9.C.C12\$2C\$2C4\$11.C\$10.2C\$10.C.C\$3.2C\$3.C.C\$3.C12\$2C\$2C5\$12.C\$11.2C\$3.2C6.C.C\$3.C.C\$3.C12\$2C\$2C6\$13.C\$3.2C7.2C\$3.C.C6.C.C\$3.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$8.C\$7.2C\$7.C.C12\$2C\$2C7\$3.2C9.C\$3.C.C7.2C\$3.C9.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$9.C\$8.2C\$8.C.C12\$2C\$2C7\$3.2C\$3.C.C9.C\$3.C10.2C\$14.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$10.C\$9.2C\$9.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C12.C\$15.2C\$15.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$11.C\$10.2C\$10.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C\$17.C\$16.2C\$16.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$12.C\$11.2C\$11.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C2\$18.C\$17.2C\$17.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$13.C\$12.2C\$12.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$19.C\$18.2C\$18.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$14.C\$13.2C\$13.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$20.C\$19.2C\$19.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C10\$15.C\$14.2C\$14.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$21.C\$20.2C\$20.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C11\$16.C\$15.2C\$15.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$22.C\$21.2C\$21.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C12\$17.C\$16.2C\$16.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$23.C\$22.2C\$22.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C13\$18.C\$17.2C\$17.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$24.C\$23.2C\$23.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C14\$19.C\$18.2C\$18.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$25.C\$24.2C\$24.C.C12\$2C\$2C6\$11.2C\$5.2C4.C.C\$5.C.C3.C\$5.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C3\$4.2C\$4.C.C\$4.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C3\$10.2C\$10.C.C\$10.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C6\$7.2C\$7.C.C\$7.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C7\$9.2C\$9.C.C\$9.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C8\$3.2C\$3.C.C\$3.C12\$.2C\$.2C7\$.2C3.2C\$2C4.C.C\$2.C3.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C4\$8.2C\$7.2C\$9.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C4\$10.2C\$9.2C\$11.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C5\$7.2C\$6.2C\$8.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C5\$6.2C\$5.2C\$7.C12\$2C\$2C7\$5.2C\$5.C.C4.2C\$5.C5.2C\$13.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C6\$10.2C\$9.2C\$11.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C8\$6.2C\$5.2C\$7.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C4\$16.2C\$15.2C\$17.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C13\$10.2C\$9.2C\$11.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C4\$6.3C\$6.C\$7.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C4\$9.3C\$9.C\$10.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C6\$8.3C\$8.C\$9.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C6\$9.3C\$9.C\$10.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C6\$11.3C\$11.C\$12.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C7\$13.3C\$13.C\$14.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C5\$14.3C\$14.C\$15.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C3\$15.3C\$15.C\$16.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C4\$8.C\$7.2C\$7.C.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C8\$5.C\$4.2C\$4.C.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C12\$7.C\$6.2C\$6.C.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C12\$12.C\$11.2C\$11.C.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C13\$11.C\$10.2C\$10.C.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C12\$27.C\$26.2C\$26.C.C12\$2C\$2C7\$5.2C\$5.C.C\$5.C18\$21.C\$20.2C\$20.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4.2C\$8.C.C\$8.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$.2C\$.C.C\$.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$2.2C\$2.C.C\$2.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C\$9.2C\$9.C.C\$9.C12\$2C\$2C6\$12.2C\$3.2C7.C.C\$3.C.C6.C\$3.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$7.2C\$7.C.C\$7.C12\$2C\$2C7\$3.2C8.2C\$3.C.C7.C.C\$3.C9.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$8.2C\$8.C.C\$8.C12\$2C\$2C7\$3.2C\$3.C.C8.2C\$3.C10.C.C\$14.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$9.2C\$9.C.C\$9.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C11.2C\$15.C.C\$15.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$10.2C\$10.C.C\$10.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C\$16.2C\$16.C.C\$16.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$11.2C\$11.C.C\$11.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C2\$17.2C\$17.C.C\$17.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$12.2C\$12.C.C\$12.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$18.2C\$18.C.C\$18.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$13.2C\$13.C.C\$13.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$19.2C\$19.C.C\$19.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C10\$14.2C\$14.C.C\$14.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$20.2C\$20.C.C\$20.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C11\$15.2C\$15.C.C\$15.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$21.2C\$21.C.C\$21.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C12\$16.2C\$16.C.C\$16.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$22.2C\$22.C.C\$22.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C13\$17.2C\$17.C.C\$17.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$23.2C\$23.C.C\$23.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C14\$18.2C\$18.C.C\$18.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$24.2C\$24.C.C\$24.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C15\$19.2C\$19.C.C\$19.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C\$8.2C\$7.2C\$9.C12\$2C\$2C7\$3.2C5.2C\$3.C.C3.2C\$3.C7.C12\$2C\$2C6\$12.2C\$3.2C6.2C\$3.C.C7.C\$3.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$7.2C\$6.2C\$8.C12\$2C\$2C7\$3.2C8.2C\$3.C.C6.2C\$3.C10.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$8.2C\$7.2C\$9.C12\$2C\$2C7\$3.2C\$3.C.C8.2C\$3.C9.2C\$15.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$9.2C\$8.2C\$10.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C11.2C\$14.2C\$16.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$10.2C\$9.2C\$11.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C\$16.2C\$15.2C\$17.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$11.2C\$10.2C\$12.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C2\$17.2C\$16.2C\$18.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$12.2C\$11.2C\$13.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$18.2C\$17.2C\$19.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$13.2C\$12.2C\$14.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$19.2C\$18.2C\$20.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C10\$14.2C\$13.2C\$15.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$20.2C\$19.2C\$21.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C11\$15.2C\$14.2C\$16.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$21.2C\$20.2C\$22.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C12\$16.2C\$15.2C\$17.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$22.2C\$21.2C\$23.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C13\$17.2C\$16.2C\$18.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$23.2C\$22.2C\$24.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C14\$18.2C\$17.2C\$19.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$24.2C\$23.2C\$25.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C15\$19.2C\$18.2C\$20.C12\$2C\$2C4\$9.3C\$9.C\$10.C\$3.2C\$3.C.C\$3.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6.3C\$10.C\$11.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$6.3C\$6.C\$7.C12\$2C\$2C6\$11.3C\$3.2C6.C\$3.C.C6.C\$3.C12\$2C\$2C7\$3.2C7.3C\$3.C.C6.C\$3.C9.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$7.3C\$7.C\$8.C12\$2C\$2C7\$3.2C\$3.C.C7.3C\$3.C9.C\$14.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$8.3C\$8.C\$9.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C10.3C\$14.C\$15.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$9.3C\$9.C\$10.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C\$15.3C\$15.C\$16.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$10.3C\$10.C\$11.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C2\$16.3C\$16.C\$17.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$11.3C\$11.C\$12.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$17.3C\$17.C\$18.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$12.3C\$12.C\$13.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$18.3C\$18.C\$19.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C10\$13.3C\$13.C\$14.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$19.3C\$19.C\$20.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C11\$14.3C\$14.C\$15.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$20.3C\$20.C\$21.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C12\$15.3C\$15.C\$16.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$21.3C\$21.C\$22.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C13\$16.3C\$16.C\$17.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$22.3C\$22.C\$23.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C14\$17.3C\$17.C\$18.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$23.3C\$23.C\$24.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C15\$18.3C\$18.C\$19.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C10\$24.3C\$24.C\$25.C12\$2C\$2C4\$10.C\$9.2C\$9.C.C\$3.2C\$3.C.C\$3.C12\$2C\$2C7\$3.2C\$3.C.C4.C\$3.C5.2C\$9.C.C12\$2C\$2C4\$11.C\$10.2C\$10.C.C\$3.2C\$3.C.C\$3.C12\$2C\$2C5\$12.C\$11.2C\$3.2C6.C.C\$3.C.C\$3.C12\$2C\$2C6\$13.C\$3.2C7.2C\$3.C.C6.C.C\$3.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$8.C\$7.2C\$7.C.C12\$2C\$2C7\$3.2C9.C\$3.C.C7.2C\$3.C9.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$9.C\$8.2C\$8.C.C12\$2C\$2C7\$3.2C\$3.C.C9.C\$3.C10.2C\$14.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$10.C\$9.2C\$9.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C12.C\$15.2C\$15.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$11.C\$10.2C\$10.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C\$17.C\$16.2C\$16.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$12.C\$11.2C\$11.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C2\$18.C\$17.2C\$17.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$13.C\$12.2C\$12.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C3\$19.C\$18.2C\$18.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$14.C\$13.2C\$13.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C4\$20.C\$19.2C\$19.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C10\$15.C\$14.2C\$14.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C5\$21.C\$20.2C\$20.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C11\$16.C\$15.2C\$15.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C6\$22.C\$21.2C\$21.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C12\$17.C\$16.2C\$16.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C7\$23.C\$22.2C\$22.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C13\$18.C\$17.2C\$17.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C8\$24.C\$23.2C\$23.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C14\$19.C\$18.2C\$18.C.C12\$2C\$2C7\$3.2C\$3.C.C\$3.C9\$25.C\$24.2C\$24.C.C!`

I could certainly have done something subtle wrong with gencols, but if I'm not mistaken, there are only three different block pulls in this collection -- 1-, 3-, and 4-cell pulls -- and no block pushes. The last PULL9 is from the 3-glider trial run described below:

`x = 265, y = 26, rule = LifeHistory69.4B\$5.B2D28.2D28.2D.4B23.2DB2.B24.2D28.2D28.2D28.2D28.2D3.2B\$3.3BDCA27.2D27.B2DB.4B22.2DB.3B23.2D28.2D28.2D28.2D27.B2D5B2.B\$3.4B2A.2B26.2A23.2B.9B20.9B140.13B\$.12B25.2A23.6B2A.4B19.10B137.16B\$14B49.4B2.2A2.4B19.4B2A4B136.17B\$9B2.4B48.5B6.4B19.3B2A.4B24.2A110.16B\$.9B2.4B49.4B6.4B19.4B2.4B23.2A29.2A81.14B\$3.8B2.4B49.4B6.2B2D19.4B2.4B53.2A29.2A50.13B\$4.2B2.2B2D2.4B49.2B2D6.BDBD19.2B2D2.2B2D83.2A29.2A21.3B\$9.BDBD2.3BD49.BDBD6.DB21.BDBD2.BDBD113.2A20.4B5.2A\$10.DB4.B2DB49.DB31.DB4.DB136.4B5.2A\$17.DBD226.4B\$247.2B5.2D4BDB\$254.DBD2B2DB\$254.D4BDBD\$254.8B\$254.7B\$255.5B\$256.4B\$257.4B\$258.4B\$259.4B\$260.2B2D\$261.BDBD\$262.DB!`

The search for three-glider block moves is theoretically just an extension of the above. Re-run the above collision without the filters -- but maybe with somewhat tighter constraints, to keep things from getting too crazy:

gencols -pat glider-block-collisions.life obj/glider_nw.life -tc 20 50 -nph 4 -gen 256 > glider-pairs-hitting-block.life

That will give you about four thousand block+2G collisions to start with. Make sure you include -nph 4 (i.e., 4 phases for the third glider) or you'll only get the first thousand.

Now things get a little crazy no matter what you do! If you keep the "-tc" values to a small enough range, you might be able to get a gencols search to finish in a reasonable time. You could run separate searches for "-tc 20 23", "-tc 24 27", etc., and see if you're getting good results.

gencols -pat glider-pairs-hitting-block.life obj/glider_nw.life -tc 20 23 -filt 1 -nph 4 -geq 4 -leq 4 -gen 512 > 3glider-block-output.life
The above looks like it will probably take hours to complete, at least on my old laptop, and there will be lots more results for different -tc ranges. You could write different ranges to different output files, or I guess maybe append to the same file with >> instead of >, but that seems a bit dangerous...! The above seems to generate several thousand candidate 3-glider groups per hour on my system.

Another idea would be to split that output file into four thousand separate files, and build a long batch file that runs gencols separately on each one. That way at least you could see what progress gencols was making, and estimate how long it would take to finish.

You'll certainly need some kind of post-processing -- a Python script, let's say, that goes through all the candidate results and reports just the blocks that have reappeared on the key diagonal.

dvgrn
Moderator

Posts: 5222
Joined: May 17th, 2009, 11:00 pm

### Re: "Fast Salvos"

Funny, the first PUSH reaction that showed up in my small random sample was a +2 push, not a +1:

`x = 351, y = 30, rule = LifeHistory244.2B3.B\$3.4B117.3B115.10B\$.7B113.7B114.11B.3B\$2A6B58.B54.8B113.17B\$2A7B22.2AB30.4B52.10B25.4B82.19B\$2B2D6B21.ACD28.2C5B22.B2D26.2B2D7B21.2D.4B23.2DB2.B24.2D27.B2D18B10.2D28.2D28.2D3.2B\$.B2D7B21.2D27.B2C6B19.3BDCA25.2B2D8B19.B2DB.4B22.2DB.3B22.B2D7B20.B2D23B5.2D28.2D27.B2D5B2.B\$2.10B49.3B.6B18.4B2A.2B22.4B2A2B.4B16.2B.9B20.9B20.11B19.28B62.13B\$2.8B3D47.12B15.12B21.4B2A3B.2B2D15.6B2A.4B19.10B17.14B18.28B60.16B\$2.8BD2B47.13B13.14B21.9B.BDBD14.4B2.2A2.4B19.4B2A4B16.15B16.28B61.17B\$3.4B2.2BDB47.6B.4B3D12.9B2.4B21.9B.DB15.5B6.4B19.3B2A.4B16.8B2A5B15.11B3D13B63.16B\$4.4B2.4B47.5B2.3BD2B13.9B2.4B20.10B19.4B6.4B19.4B2.4B17.5B.2A6B16.7B2AD10B.B68.14B\$5.4B2.4B47.5B2.3BD16.8B2.4B22.8B19.4B6.2B2D19.4B2.4B16.6B.8B15.7B2ABD27.2A50.13B\$6.2B2D2.2B2D48.2B2D2.4B16.2B2.2B2D2.4B22.2B2D4B19.2B2D6.BDBD19.2B2D2.2B2D18.2B2D.3BD4B14.5B2D31.2A29.2A21.3B\$7.BDBD2.BDBD48.BDBD2.4B20.BDBD2.3BD22.BDBD4B19.BDBD6.DB21.BDBD2.BDBD18.BDBD.B2D5B14.4BDBD61.2A20.4B5.2A\$8.DB4.DB50.DB4.3BD20.DB4.B2DB22.DB2.4B19.DB31.DB4.DB20.DB3.DBD.4B14.B.BDB84.4B5.2A\$73.B2DB26.DBD27.4B89.4B14.4B84.4B\$74.DBD57.4B89.4B14.4B84.2B5.2D4BDB\$135.4B89.2B2D14.4B90.DBD2B2DB\$136.4B89.BDBD14.4B89.D4BDBD\$137.2B2D89.DB16.4B88.8B\$138.BDBD107.4B87.7B\$139.DB109.4B87.5B\$251.4B87.4B\$252.4B87.4B\$253.4B87.4B\$254.4B87.4B\$255.B3D87.2B2D\$256.D2B88.BDBD\$257.D90.DB!`

This is just the results of a partial manual scan through the attached file, which is the output from the sample search at the end of the last posting, which is only a very small fraction of the total search space. It ran for 80 minutes on my system and produced 5661 candidate 4-cell output patterns.

Again, a quick Python script needs to be written to sort out the ones that keep the block on the correct diagonal.
Attachments
3glider-block-output.txt
Gencols results for -tc 20 23 (only)

dvgrn
Moderator

Posts: 5222
Joined: May 17th, 2009, 11:00 pm

### Re: "Fast Salvos"

Whoa, thanks a ton! And yep, adding the -gen argument did the trick for gencols.

How would I go about checking the output with Python? The output after the space is shrunken down to just the pattern (instead of including the bounding box of the initial pattern) so I assume you mean to do it within Golly, but when I try to run a python script I get the message 'The Python library does not have this symbol: Py_Initmodule4'.
gamer54657 wrote:God save us all.
God save humanity.

hgkhjfgh

nutshelltlifeDiscord 'Conwaylife Lounge'
M. I. Wright

Posts: 371
Joined: June 13th, 2015, 12:04 pm

### Re: "Fast Salvos"

M. I. Wright wrote:...when I try to run a python script I get the message 'The Python library does not have this symbol: Py_Initmodule4'.

Well, Python is supposed to Just Work with Golly. When it doesn't, it's usually a fairly simple mismatch between the versions: in particular, you need to have installed Python 2.x -- the latest compatible version is Python 2.7.10, not 3.4.3.

If that's not the problem, then make sure that if you're running 32-bit Golly, that you've installed a 32-bit version of Python, or if it's a "64-bit" or "x86-64" version of Golly, that you install the 64-bit version of Python.

If that doesn't help, post some specifics about your platform, operating system, and if possible the names of the installer files you used for Golly and Python, and maybe someone will have some advice...!

dvgrn
Moderator

Posts: 5222
Joined: May 17th, 2009, 11:00 pm

Next

### Who is online

Users browsing this forum: Google [Bot] and 5 guests