Slow-salvo recipes

For discussion of specific patterns or specific families of patterns, both newly-discovered and well-known.
User avatar
Kazyan
Posts: 1247
Joined: February 6th, 2014, 11:02 pm

Re: Slow-salvo recipes

Post by Kazyan » June 26th, 2017, 2:07 pm

simsim314 wrote:How about slow salvoing syringe?

We already have synth of syringe.
I think that if we are coming to lower-level optimizations like that, it would be better to run some in-depth searches for better dependent Herschel conduits instead. Much of the cost in these constructions comes from having to duct-tape an expensive and not-terribly-helpful conduit to the end of a dependent syringe.

Also, I notice the question "should we build this 41-cell still life with slow salvo?" is being taken seriously, which is pretty encouraging about the state of the technology. A couple of years ago, you'd be laughed out of the thread if your design needed a tub-with-tail.
Tanner Jacobi
Coldlander, a novel, available in paperback and as an ebook. Now on Amazon.

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

Re: Slow-salvo recipes

Post by dvgrn » June 26th, 2017, 2:29 pm

Kazyan wrote:I think that if we are coming to lower-level optimizations like that, it would be better to run some in-depth searches for better dependent Herschel conduits instead. Much of the cost in these constructions comes from having to duct-tape an expensive and not-terribly-helpful conduit to the end of a dependent syringe.
Heh, and if we're going to do that, it might be better to run new in-depth searches for a more Spartan G-to-H. Or really a Spartan G-to-2G would be even better, preferably with a color-changing 90-degree output. A construction arm doesn't even really need a Herschel stage at all any more (!).

A fast G-to-2G would make construction correspondingly more efficient. Something that can run at 43 ticks separation like the Snark does, would enormously enlarge the single-channel search space.
Kazyan wrote:Also, I notice the question "should we build this 41-cell still life with slow salvo?" is being taken seriously, which is pretty encouraging about the state of the technology. A couple of years ago, you'd be laughed out of the thread if your design needed a tub-with-tail.
Yes, and it seemed like everything that was any good needed a tub-with-tail somewhere. Very inconvenient. And that was when "any good" included designs with five or ten times as many still lifes as current designs.

Among several key improvements, slmake has been a really huge step forward -- including the searches that Calcyman ran behind the scenes to populate the data tables. And simeks' various single-channel searches have resulted in a construction arm that can fire just about equally well in eight different directions. That's a really new weird-and-wonderful feature that's only just starting to get explored in the new single-channel Demonoid.

User avatar
Scorbie
Posts: 1692
Joined: December 7th, 2013, 1:05 am

Re: Slow-salvo recipes

Post by Scorbie » June 26th, 2017, 3:09 pm

dvgrn wrote:
Kazyan wrote:Also, I notice the question "should we build this 41-cell still life with slow salvo?" is being taken seriously, which is pretty encouraging about the state of the technology. A couple of years ago, you'd be laughed out of the thread if your design needed a tub-with-tail.
Yes, and it seemed like everything that was any good needed a tub-with-tail somewhere. Very inconvenient. And that was when "any good" included designs with five or ten times as many still lifes as current designs.
Huh... I remember me and others saying, when the syringe was first found, that an eater2 *might* be slow-salvo constructed someday...! Slow-salvo tech evolves really quickly, I would say. I think the miraculous eater -> pre- snark catalyst component found by Catagolue also deserves a mention...

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

Re: Slow-salvo recipes

Post by dvgrn » June 26th, 2017, 3:41 pm

Scorbie wrote:Huh... I remember me and others saying, when the syringe was first found, that an eater2 *might* be slow-salvo constructed someday...! Slow-salvo tech evolves really quickly, I would say.
I remember thinking that an eater2 technically could be done, but I imagined that the construction envelope would always be so huge that other pieces of circuitry would have to be painfully worked in around the eater2 after it was built, turning a simple back-to-front construction process into a total nightmare.

My imagination was a little bit misinformed by this constellation from Golly's Patterns/Life/Syntheses/blockish-and-blockic-seeds.rle, which was my attempt at a slow-salvo-compatible eater2 seed ten years ago:

Code: Select all

x = 196, y = 197, rule = B3/S23
155b2o$155b2o4$153b2o$153b2o2$153b2o$153b2o6$42b2o$42b2o$148b2o$148b2o
$49b2o$49b2o10b2o$61b2o4b2o32b2o43b2ob2o$67b2o10b2o20b2o43b2ob2o$79b2o
$49b2o$49b2o45b2o52b2o$67b2o27b2o52b2o$41b2o3b2o19b2o75b2o$24b2o15b2o
3b2o96b2o$12b2o10b2o$12b2o3$24b2o$24b2o2$52b2o103b2o16b2ob2o$52b2o10b
2o87b2o2b2o16b2ob2o$64b2o87b2o28b2o$183b2o2$43b2o3b2o2b2o$10b2o3b2o26b
2o3b2o2b2o91b2o$10b2o3b2o128b2o$104b2o$104b2o2$180b2o$116b2o62b2o$31b
2o3b2o66b2o10b2o51b2o$31b2o3b2o66b2o63b2o2$77b2o$44b2o31b2o101b2o$11b
2o31b2o134b2o$11b2o49b2o$62b2o22b2o$86b2o2$67b2o$67b2o$32b2o$32b2o$14b
2o3b2o$14b2o3b2o$83b2o$83b2o2$45b2o$45b2o8b2ob2o$55b2ob2o35b2o$95b2o2$
54b2o$54b2o126b2o$15b2o69b2o94b2o$15b2o69b2o18b2o$106b2o2$187b2o$87b2o
98b2o$87b2o$119b2o$119b2o65b2ob2o$44b2o140b2ob2o$44b2o64b2o$110b2o$
126b2o57b2o$125bo2bo56b2o$31b2o43b2o48b2o$31b2o4b2o37b2o$37b2o3$116bo$
115bobo$82b2o31bobo$82b2o32bo4b2o11bo$121b2o10bobo$133bobo$134bo2$81b
2o$81b2o$46b2o$46b2o75b2o48b2o3b2o$122bo2bo47b2o3b2o$123b2o6b2o$130bo
2bo$131b2o2$52b2o6b2o$52b2o6b2o$66b2o16b2o47b2o$66b2o16b2o10b2o35b2o7b
o$70b2o24b2o16b2o25bobo$66b2o2b2o41bo2bo24bobo$5b2o44b2o9b2o2b2o46b2o
26bo34b2o$5b2o3b2o39b2o9b2o20b2o38b2o51b2o$10b2o72b2o38b2o3$104bo61b2o
$103bobo60b2o$82b2o19bobo49b2o$82b2o2b2o16bo17bo11b2o19b2o$2o84b2o33bo
bo9bo2bo$2o88b2o29bobo10b2o$90b2o21b2o7bo$113b2o42b2o$157b2o3$111b2o$
110bo2bo$111b2o$124b2o3b2o12b2o$124b2o3b2o12b2o8$38b2o$38b2o2$128b2o9b
2o3b2o$50b2o76b2o9b2o3b2o$38b2o10b2o$38b2o$60b2o$60b2o$54b2o$18b2o34b
2o$18b2o2b2o26b2o66b2o3b2o$22b2o2b2o22b2o2b2o62b2o3b2o$26b2o26b2o2b2o$
58b2o$19b2o106b2o$19b2o106b2o3$64b2o73b2o$64b2o61b2o10b2o$70b2o55b2o$
70b2o$119b2o$119b2o$66b2ob2o$66b2ob2o3$68b2o$68b2o3$193b3o$193bo$194bo
7$56b2o$56b2o3$55b2o$55b2o2$59b2o$54b2o3b2o$54b2o!
#C [[ STEP 9 ]]
That's a glider plus 11 beehives and 135 blocks, and a very large amount of territory. The cost has come down quite a bit since then...!

It would be amusing to compile this constellation -- the resulting recipe might end up being longer than the recipe for the entire single-channel Demonoid. Anyone need a little practice with slmake?

By the way, there's a new note in the link about a two-bit fix to slmake source code, that makes compilation quite a bit faster and the output recipes more efficient, at least in some cases.

User avatar
gmc_nxtman
Posts: 1150
Joined: May 26th, 2015, 7:20 pm

Re: Slow-salvo recipes

Post by gmc_nxtman » June 27th, 2017, 9:27 pm

Although this doesn't really have any application, 37-glider and 34-glider recipes for backward and forward HWSS-on-HWSS #1s, respectively:

Code: Select all

x = 8904, y = 4608, rule = B3/S23
b2o4632b2o$b2o4628b2ob2o$4631b2o3bo$bo$2o$obo123$4763b2o$4762b2o$4764b
o$126bo$125b2o$125bobo123$4878b3o$4878bo$4879bo2$247b3o$247bo$248bo
122$5019b2o$5018b2o$5020bo$386bo$385b2o$385bobo123$5145b3o$5145bo$
5146bo$510bo$509b2o$509bobo123$5264b3o$5264bo$5265bo$643bo$642b2o$642b
obo123$5393b2o$5392b2o$5394bo$770bo$769b2o$769bobo123$5521b2o$5520b2o$
5522bo2$879b3o$879bo$880bo122$5634b2o$5633b2o$5635bo2$1008b3o$1008bo$
1009bo122$5766b3o$5766bo$5767bo$1125bo$1124b2o$1124bobo123$5885b2o$
5884b2o$5886bo$1244bo$1243b2o$1243bobo123$6030b3o$6030bo$6031bo2$1392b
3o$1392bo$1393bo122$6167b3o$6167bo$6168bo$1520bo$1519b2o$1519bobo123$
6305b3o$6305bo$6306bo$1655bo$1654b2o$1654bobo123$6435b2o$6434b2o$6436b
o$1780bo$1779b2o$1779bobo123$6548b3o$6548bo$6549bo$1901bo$1900b2o$
1900bobo123$6684b3o$6684bo$6685bo$2040bo$2039b2o$2039bobo123$6806b3o$
6806bo$6807bo$2160bo$2159b2o$2159bobo123$6923b3o$6923bo$6924bo$2277bo$
2276b2o$2276bobo123$7051b3o$7051bo$7052bo$2412bo$2411b2o$2411bobo123$
7172b2o$7171b2o$7173bo$2537bo$2536b2o$2536bobo123$7299b3o$7299bo$7300b
o$2661bo$2660b2o$2660bobo123$7437b2o$7436b2o$7438bo2$2792b3o$2792bo$
2793bo122$7567b2o$7566b2o$7568bo2$2937b3o$2937bo$2938bo122$7693b3o$
7693bo$7694bo2$3051b3o$3051bo$3052bo122$7818b3o$7818bo$7819bo$3170bo$
3169b2o$3169bobo123$7946b3o$7946bo$7947bo$3315bo$3314b2o$3314bobo123$
8072b2o$8071b2o$8073bo2$3449b3o$3449bo$3450bo122$8207b2o$8206b2o$8208b
o2$3574b3o$3574bo$3575bo122$8330b3o$8330bo$8331bo2$3707b3o$3707bo$
3708bo122$8462b3o$8462bo$8463bo$3839bo$3838b2o$3838bobo123$8584b2o$
8583b2o$8585bo2$3948b3o$3948bo$3949bo122$8744b3o$8744bo$8745bo$4074bo$
4073b2o$4073bobo126$4212bo$4211b2o$4211bobo25$8901b3o$8901bo$8902bo99$
4344bo$4343b2o$4343bobo126$4472bo$4471b2o$4471bobo120$4613bo$4612b2o$
4612bobo!

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

Re: Slow-salvo recipes

Post by simsim314 » July 2nd, 2017, 3:38 am

Kazyan wrote:I think that if we are coming to lower-level optimizations like that, it would be better to run some in-depth searches for better dependent Herschel conduits instead.
I remember making some work to optimize dependent conduits that could make optimal self constructible glider duplicator, and I found few but it was harder and rarer than it looks. I always support more elementary conduit search, but I would also suggest for now to stick with what we have - and make the best of it.
dvgrn wrote:and if we're going to do that, it might be better to run new in-depth searches for a more Spartan G-to-H. Or really a Spartan G-to-2G would be even better, preferably with a color-changing 90-degree output.
For a while now I have an idea how to improve spartan searches. As we all know spartan circuit can sacrifice a SL and return it a while afterwards. This trick can be installed into the search utility itself (not being obsessive in returning the SL which was lost). We also can sacrifice another SL while returning the previous one. Those two combined should give explosion in spartan circuitry (especially if we allow two or three sacrifices).

Another idea is to evaluate the probability of returning a SL, and cut the low probability brunches of the search tree. Maybe we can use some learning systems to evaluate this probability, or have something like entropy measure, which states that circuits with many "valid" continuations are better.

We also need to remember that we want recovery time to be much less than 90 - maybe around 50, this could give much deeper trees instead of shallow and wide ones (the width will come from sacrifice instead of useless search brunches).


Edit
dvgrn wrote:how much easier does the construction problem get if we're allowed to use synchronized pairs of gliders, like in the original Gemini?

I was thinking about this question - and my conclusion was that you need to have it twice faster at least because you now have two conduits instead of one, you also need to synchronize streams or have it twice slower - and slow salvo is comparable to all these alternatives.

Another question is whether simeks single arm recipes are the best option?

Anyway I like our current minimalistic design as it's elegant on its own right, single stream that allows snarks it's cool on its own.

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

Re: Slow-salvo recipes

Post by dvgrn » July 2nd, 2017, 12:07 pm

simsim314 wrote:Another question is whether simeks single arm recipes are the best option?
Eventually I think the single-channel elbow-op libraries are going to get a lot bigger and more efficient. Right now everything we're doing starts from one of two elbow locations -- a SPEBOE (Standard Pi-Explodable Block Or Equivalent) -- and gliders come in singletons or pairs only.

It seems quite possible that going back to a block between every recipe is really unnecessary. Instead it should be possible to start from the random junk left immediately after a glider is emitted, and search directly for the cheapest way to get the next desired glider output.

At the very least we could have a lot more different elbows, along the lines of the large collection we ended up with for the 10hd Demonoid project. Seems like some honeyfarm positions might allow for a more compact toolkit with a much narrower and shorter reaction envelope than starting with a pi explosion. I've been thinking about this because of Scorbie's new Hashlife-friendly Demonoid, where we either have to increase the spacing to 128hd instead of 64hd, or we have to be very careful about what 0-degree recipes we use to build the construction-arm Snark.

A new, much shorter Snarkmaker recipe might be an interesting initial challenge for this kind of direct search for a long series of 0-degree glider outputs, with no requirement that there be a clean elbow block between every glider output.

It might be good to check after every glider output that it's possible to get back to an elbow. That way it's impossible for the search tree to run out of branches. But it seems unlikely that the most efficient recipe would actually use branches that lead back to elbows, very often at all.

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

Re: Slow-salvo recipes

Post by dvgrn » July 2nd, 2017, 11:13 pm

simsim314 wrote:
dvgrn wrote:how much easier does the construction problem get if we're allowed to use synchronized pairs of gliders, like in the original Gemini?
I was thinking about this question - and my conclusion was that you need to have it twice faster at least because you now have two conduits instead of one, you also need to synchronize streams or have it twice slower - and slow salvo is comparable to all these alternatives.
I suppose "comparable" is about right. Synchronized pairs of gliders are just about four times as efficient as slow salvos, from the examples that we have so far.

I thought it would be more like eight or ten times as efficient, but here are the statistics I collected:

The old Gemini spaceship uses 8,788 gliders to build 2,732 still lifes (1705 eaters, 920 blocks, 92 beehives, 9 boats, and 7 tubs).

That's a ratio of just a little more than 3:1, gliders to target objects -- pretty good!

(Gemini also has 155,873 recipe-stream gliders encoding those 8,788 gliders, but that's not relevant here. The first-stage encoding system was really inefficient, but the second stage was better than we've managed since in anything besides the HBK gun and Paul Tooke's Pianola breeders.)

The 0hd Demonoid spaceship builds 44 still lifes with a simple slow salvo from the construction arm, consisting of 542 gliders. That's a little more than 12:1, gliders to target objects -- so about four times less efficient than glider-pair slow salvos. I built that salvo by hand to make it as efficient as I could; not sure if slmake is doing better or worse than that on average, but it will be easy to check.

The Demonoid should get some credit for having to build a beehive-with-tail and an eater2, but that's only two of the 44 still lifes -- and it seems to me that slightly rare still lifes like that might get the biggest improvement from having synchronized gliders coming from two directions, if people decided it was worth spending some time puzzling out those recipes.

Now, we know from elsewhere that 0hd is also over twice as efficient as single-channel at encoding below-the-elbow gliders using above-the-elbow gliders, so there's that to take into account. But that doesn't really make a difference for deciding the slow-salvo versus slow-pair question.

User avatar
BlinkerSpawn
Posts: 1992
Joined: November 8th, 2014, 8:48 pm
Location: Getting a snacker from R-Bee's

Re: Slow-salvo recipes

Post by BlinkerSpawn » July 2nd, 2017, 11:24 pm

Just out of curiosity, what would a two-arm constructor using modern technology look like?
LifeWiki: Like Wikipedia but with more spaceships. [citation needed]

Image

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

Re: Slow-salvo recipes

Post by dvgrn » July 3rd, 2017, 8:58 am

BlinkerSpawn wrote:Just out of curiosity, what would a two-arm constructor using modern technology look like?
It's not entirely clear yet, but it looks like we'd need two separate streams of single-channel gliders from somewhere. It would be nice to be able to encode them in a single stream, since Snarks can reflect gliders down to 43-tick separation and we're stuck with 90-tick separation for syringes anyway. But that would turn out to be awkward for several reasons, not just the obvious one that we don't have a G-to-2G splitter that works at 43-tick separation.

So -- two streams of gliders going into the constructor, and two streams coming out, with as little signal crossing as possible. Maybe two diamond-shaped loops next to each other, each made with three Snarks and one of Scorbie's G-to-2Gs?

Constructor vs. Self-Constructor
A lot is going to depend on the application. If we're just building something simple, like say a spaceship gun along the lines of the HBK gun for example, then that's all the structure that's needed. For something self-constructing like a quadratic replicator, it seems like a lot of extra circuitry will be needed to synchronize the replication of the two separate loops.

Any extra circuitry tends into eat into the efficiency advantage that two-arm self-constructors have over slow-salvo single channel. It looks like the advantage only adds up to a factor of two or so, in the best case. So it's very tempting to stick with the single-arm designs that we already have some experience with.

A Sneaky Workaround?
If we want to build something that's really difficult with a unidirectional slow salvo and a lot easier with slow pairs, it may now be possible to have the best of both worlds -- a single recipe loop storing slow-pair constructions. It takes a significant investment, though:

1) build a Cordership seed and launch a Cordership;
2) after a long time, use 0-degree gliders to send a signal to stop the Cordership and make a faraway elbow;
3) the Cordership-stopper recipe should also return a glider toward the recipe source;
4) knock out the 0-degree elbow and send a recipe to use the faraway elbow to build a Snark and a new elbow;
5) follow that with a recipe that sends half of a slow-pair recipe back from the faraway elbow;
6) use the return-glider signal from #3 plus a strategic piece of local junk to get a new local elbow;
7) use the local elbow to build a Snark;
8) send the other half of the glider-pair recipe to meet the first half coming back from far away.
9) construct whatever difficult thing it is that can't be done without slow glider pairs.
10) ... profit?

Another option
It almost seems like we might as well develop freeze-dried synchronized salvos instead. With those, we wouldn't be limited to slow pairs.

Given enough room around the construction site, we could directly create any classic synchronized recipe, with gliders and *WSSes coming in from any direction. In some cases it might even be cheaper, all things considered, than all that messing around with Corderships.

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

Re: Slow-salvo recipes

Post by dvgrn » July 16th, 2017, 2:36 pm

dvgrn wrote:
BlinkerSpawn wrote:Just out of curiosity, what would a two-arm constructor using modern technology look like?
It's not entirely clear yet...
Writing up this answer got me thinking. A lot of the 0hd Demonoid's efficiency comes from its ability to use the same glider stream in two different ways. Is there a geometry that might allow a similar trick for an oblique spaceship?

For example, could the foremost of two 180-degree reflectors provide one half of a Gemini-style glider-pair construction, while the second reflector (which used to be the first reflector one cycle ago) is reconfigured to change direction by 90 degrees and produce the other half of each glider pair?

Another topic that maybe belongs on this thread is elbowless slow salvos. These are just hypothetical at the moment, but it seems pretty clear that they would work, for outputs in any of the eight directions, and they should be a good bit cheaper than using elbows. Once a recipe is found, that is -- each recipe would need a custom search to find, and that's pretty darn expensive. Might be worth trying for something like the Snarkmaker recipe, though...?

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

Re: Slow-salvo recipes

Post by dvgrn » July 31st, 2017, 4:38 pm

dvgrn wrote:90-tick recovery circuitry is still scarce...
Other dependent conduits besides the Lx200 take 115 or more ticks to recover. Or the recovery time goes up to 153 ticks if we use a cheap R64 to bend the output Herschel back after an Lx200. The "correction" circuitry piles up really quickly...
Come to think of it, this points out an alternate slow-salvo challenge that might be easier to tackle/cheaper/smaller construction envelope than a standard syringe.

Is there any variant of the old 7x9 sidesnagger eater, that might have workable slow salvo construction recipes for all orientations?

Code: Select all

x = 31, y = 31, rule = LifeHistory
2$15.2A$14.B2A2B3.2A$15.4B2.B2AB$11.B.6B3.2B$9.10B2.2B$9.11B2A2B$8.
12B2A3B.B$8.18B2A$9.15B.B2A$8.15B3.B$6.17B$4.18B$4.2BE15B$3.3BEBE4B.
7B$4.2B3E4B2.6B$3.5BE4B2.7B$2.10B4.6B$.4B10.6B$4B11.6B$3B5.2A.2A.8B$
2B5.A.A.A.A8B$B6.A.A.BA2B.6B$6.2A.A2.2B2.2B3D2B$5.A3.2A.B3.2BD4B$6.A.
A2.A.A2.B3D4B$5.2A.2A2.2A2.8B$16.8B$16.8B$17.7B!
#C [[ THUMBNAIL THUMBSIZE 2 STOP 111 ]]
It would be nice to be able to add the R64 to the list of constructible conduits that can be used in single-channel circuitry.

The standard syringe is probably ten or a hundred times more useful, though. So maybe the 7x9 eater is a "worthwhile" project only if it comes in at a small fraction of the cost of a slow-salvo syringe.

User avatar
gmc_nxtman
Posts: 1150
Joined: May 26th, 2015, 7:20 pm

Re: Slow-salvo recipes

Post by gmc_nxtman » July 31st, 2017, 5:07 pm

I believe Extrementhusiast's synthesis based on work on the AK-47 catalyst is about the closest we can get at the moment:

Code: Select all

x = 114, y = 43, rule = B3/S23
41bo$42b2o$41b2o2$47bo$47bobo$47b2o$44bo$15bo29b2o49b2o$16b2o26b2o49bo
2bo$15b2o79b2o$19bo22bo39bobo$18bo24bo8bo29b2o$18b3o20b3o6b2o24bo6bo$
51b2o23bobo$obo68bo4b2o$b2o20bo46bo9bo30b2o$bo21bobo44b3o6bobo24b2o2bo
2bo$15bo7b2o54b2o3b3o14b2o3bobo2b2o$16b2o20bo6b2o19b3o8b2o5bo16bo7b2o$
15b2o21b2o6bo7b2o12bo9bo6bo13b3o8bo$37bobo3bo2bob2o3b2o12bo7bo2bob2o
25bo2bob2o$4b3o6b2o27bobobo2bo5bo18bobobo2bo24bobobo2bo$6bo5bobo28b2ob
2o27b2ob2o27b2ob2o$5bo8bo3$12bo98bo$11b2o98b3o$4b3o4bobo97bobo$6bo106b
o$5bo3$92b2o$92b2o$98b2o$98b2o3$96b2o$96b2o5b2o$103b2o!
EDIT: Some reactions that might lead to slow-salvo eater-to-integral recipes:

Code: Select all

x = 74, y = 18, rule = B3/S23
71bo$2b2o30b2o7b2o21b2o2bob2o$2bo3b3o25bo7bobo21bo3bo$obo29bobo8bo20bo
bo4b3o$2o7b3o20b2o30b2o$8bo3bo57bo$8bo3bo31b3o22bobo$8bo3bo30bo3bo22b
2o$9b3o30bo5bo$41bo3bo3bo$6b2o33bo2bobo2bo$6bobo32bo3bo3bo$7bo34bo5bo$
43bo3bo$44b3o2$47b2o$47b2o!

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

Re: Slow-salvo recipes

Post by dvgrn » May 27th, 2018, 10:32 am

No particularly big news here, but I needed a place to put a rebuild of the "triple Snark wick extruder" from higher up in this thread. It's pretty much the same rebuild as the spiral growth pattern I posted just now, no changes to the spiral-growth recipe, just to the storage unit.

I definitely want to get back to optimizing the Snarkmaker part of the recipe. The whole thing can be quite a bit shorter, probably around half the current length. We just have to write a custom search utility to start a new slow-salvo search from the intermediate target immediately after the previous 0-degree glider output.

The only reason to work all the way back to a plain elbow block after every 0-degree glider is easy re-usability, but for things like the Snarkmaker it seems worth having a custom compilation option. It will make a lot of other recent constructions smaller, like the latest Demonoids and Orthogonoids.

Anyway, it seems weird that these things fit in LifeViewer and in a forum posting now:

Code: Select all

x = 5186, y = 4843, rule = B3/S23
2969b2o$2969bobo$2971bo4b2o$2967b4ob2o2bo2bo$2967bo2bobobobob2o$2970bo
bobobo$2971b2obobo$2975bo2$2961b2o$2962bo7b2o$2962bobo5b2o$2963b2o5$
2980bo$2981b2o$2973b2o5b2o$2973bo$2974b3o$2976bo3$2959bo$2959b2o$2958b
obo13$3002bobo$3003b2o$3003bo6$2936bo$2936b2o$2935bobo12$3025bo$3026b
2o$3025b2o22$3049bo$2897bo152b2o$2897b2o150b2o$2896bobo34$2861bo223bob
o$2861b2o223b2o$2860bobo223bo20$3108bo$2838b2o269b2o$2839b2o267b2o$
2838bo20$3130bobo$3131b2o$3131bo3$2811b2o$2810bobo$2812bo18$3155bobo$
3156b2o$3156bo$2788b2o$2789b2o$2788bo17$3178bo$3179b2o$3178b2o2$2765b
2o$2764bobo$2766bo17$3200bobo$3201b2o$3201bo2$2742b2o$2743b2o$2742bo
16$3224bo$3225bo$3223b3o13$2709b2o$2710b2o$2709bo6$3246bo$3247b2o$
3246b2o19$2680b3o$2682bo$2681bo588bo$3271bo$3269b3o21$2655b2o636bo$
2654bobo634bobo$2656bo635b2o21$2632b3o$2634bo$2633bo2$3319bo$3320b2o$
3319b2o16$2610bo$2610b2o$2609bobo3$3341bobo$3342b2o$3342bo16$2587b2o$
2586bobo$2588bo13$3374bobo$3375b2o$3375bo6$2564b2o$2565b2o$2564bo12$
3398bo$3399bo$3397b3o6$2542bo$2542b2o$2541bobo13$3420bo$3421b2o$3420b
2o6$2519b2o$2520b2o$2519bo16$3447bo$3445bobo$3446b2o18$2481bo$2481b2o$
2480bobo$3468bobo$3469b2o$3469bo20$2456b2o$2457b2o$2456bo11$3503bobo$
3504b2o$3504bo8$2433b2o$2432bobo$2434bo10$3527bo$3528bo$3526b3o9$2410b
2o$2411b2o$2410bo10$3550bo$3548bobo$3549b2o15$2381bo$2381b2o$2380bobo
4$3573bo$3574bo$3572b3o15$2358b2o$2357bobo$2359bo4$3595bo$3596b2o$
3595b2o21$3619bo$3617bobo$3618b2o7$2320b2o$2321b2o$2320bo20$2298bo$
2298b2o$2297bobo6$3658bo$3656bobo$3657b2o21$3679bobo$3680b2o$3680bo7$
2258b2o$2257bobo$2259bo12$3704bo$3702bobo$3703b2o7$2235b2o$2236b2o$
2235bo12$3725bobo$3726b2o$3726bo7$2212b2o$2213b2o$2212bo16$3754bo$
3752bobo$3753b2o2$2190bo$2190b2o$2189bobo16$3776bo$3777bo$3775b3o14$
2156bo$2156b2o$2155bobo11$3803bobo$3804b2o$3804bo8$2133b2o$2134b2o$
2133bo10$3826bo$3827b2o$3826b2o8$2111bo$2111b2o$2110bobo17$3855bo$
3856b2o$3855b2o18$2072b2o$2073b2o$2072bo$3877bobo$3878b2o$3878bo17$
2050bo$2050b2o$2049bobo$3901bo$3902bo$3900b3o21$2024b3o$2026bo$2025bo
18$3942bobo$3943b2o$3943bo4$1998b3o$2000bo$1999bo14$3965bo$3966b2o$
3965b2o21$3988bo$3989b2o$1957b2o2029b2o$1958b2o$1957bo16$2062b2o$2061b
obo$2055b2o4bo$2053bo2bo2b2ob4o1946bo$2053b2obobobobo2bo1944bobo$2056b
o2bobo1949b2o$2056bobo$2057bo3bo$2061bo$2062b2o6b2o$2061b2o7bo$2061bo
6bobo$2068b2o$2055bobo$1925b2o128b2o$1924bobo129bo$1926bo3$2058b2o$
2059bo$2056b3o$2056bo4$4033bobo$4034b2o$4034bo7$2033bo47b3o$2032bo48bo
$1902b2o128b3o47bo$1903b2o$1902bo10$4057bo$4058b2o$4057b2o6$2105bo$
2010bo93b2o$2010bobo91bobo$2010b2o4$1875b2o$1874bobo$1876bo4$2129b2o$
2129bo$2131bo1949bo$2111b2o14b5o1947bobo$2112bo13bo1953b2o$2112bobo12b
3o$2113b2o15bo$2127b4o$2122b2o3bo3b2o$2122b2o4b3o2bo$1988bo126b3o12bob
2o$1987bo129bo12bo$1987b3o126bo12b2o3$2121b2o$2121bo$1852b2o268b3o$
1853b2o269bo$1852bo10$4107bo$4108b2o$4107b2o$2093bo$2093b2o$2092bobo6$
1829b2o$1828bobo$1830bo4$1952bo$1952bobo$1952b2o4$4129bobo$4130b2o$
4130bo$2070bo$2070b2o$2069bobo$2190b2o$2189bobo$2183b2o4bo$2181bo2bo2b
2ob4o$2181b2obobobobo2bo$1806b2o376bobobobo$1807b2o375bobob2o$1806bo
378bo2$2198b2o$2189b2o7bo$1929bobo257b2o5bobo$1929b2o265b2o$1930bo3$
4152bo$4153b2o$4152b2o$2186b2o$2047b2o138bo7b2o$2046bobo135b3o8bobo$
2048bo125bo9bo10bo$2173bo$2173b3o5$1782b2o$1781bobo$1783bo8$4176bo$
1900bobo2271bobo$1900b2o2273b2o$1901bo$2024b3o$2026bo$2025bo2$2221b3o$
2221bo$2222bo3$1759b3o383bo$1761bo381b2o$1760bo383b2o7$4198bo$1879bo
2319bo$1877b2o2318b3o$1878b2o$2002b2o$2001bobo$2003bo3$2257b2o$2257bo$
2259bo$2239b2o14b5o$1737bo502bo13bo$1737b2o382bo118bobo12b3o$1736bobo
382bobo117b2o15bo$2121b2o132b4o$2245b2o3b2o3bo3b2o$2246b2o2b2o4b3o2bo$
2245bo12bob2o$2258bo$2257b2o3$1855bo393b2o$1855bobo391bo$1855b2o393b3o
$2252bo$1978b2o$1979b2o$1978bo2249bo$4226bobo$4227b2o9$1709b2o$1708bob
o$1710bo$2218b2o$2217bobo$2219bo4$2085bobo$2085b2o$2086bo$1953bo2296bo
$1953b2o2296b2o$1952bobo2295b2o9$1686b2o$1687b2o$1686bo127bo$1812b2o
381b2o121b2o$1813b2o381b2o119bobo$2195bo115b2o4bo$2309bo2bo2b2ob4o$
2309b2obobobobo2bo$2064bo247bobobobo$2062b2o248bobob2o$2063b2o248bo2$
1930b2o385bo8b2o$1929bobo384b3o7bo$1931bo383b5o4bobo$2314bo5bo3b2o$
2313b2o2bo2b2o$2312b3obobob3o$2313b2o2bo2b2o$2320bo$2319bo$4281bobo$
2314b2o1966b2o$2315bo1966bo$2312b3o$1790bobo519bo$1790b2o380b2o$1791bo
379bobo$2173bo$1657b2o$1658b2o$1657bo4$1907b2o426b2o$1908b2o382bo42bob
o$1907bo382b2o43bo$2291b2o10$2024bo$2022b2o125b2o$2023b2o125b2o$1764bo
384bo$1634b3o127bobo$1636bo127b2o$1635bo4$1884b3o$1886bo2434bo$1885bo
2436bo$4320b3o$2363bo$2362b2o$2362bobo8$2126b2o$1999bo127b2o256b2o$
1741bobo253b2o127bo258bo$1611b2o128b2o255b2o387bo$1610bobo129bo624b2o
14b5o$1612bo755bo13bo$2249bo118bobo12b3o$2248bo120b2o15bo$2248b3o132b
4o$2378b2o3bo3b2o$2378b2o4b3o2bo1954bo$2386bob2o1952bobo$2370b2o14bo
1956b2o$2369bobo13b2o$2371bo2$2377b2o$2377bo$1852b2o524b3o$1851bobo
526bo$1853bo3$2103b3o$2105bo$2104bo4$2227bo$1969bobo253b2o$1969b2o255b
2o$1970bo$1710bobo$1710b2o$1711bo635bo$2347b2o$2346bobo4$1829b2o$1830b
2o$1829bo2$2081b2o$2080bobo$2082bo3$4382bobo$4383b2o$2203bo2179bo$
2203bobo$2203b2o$1688bo$1687bo$1687b3o253bo$1941b2o381b2o$1942b2o379bo
bo120b2o$2325bo119bobo$2439b2o4bo$2437bo2bo2b2ob4o$1807bo629b2obobobob
o2bo$1807b2o631bobobobo$1806bobo631bobob2o$2441bo$2445bo$2058b3o383b3o
7b2o$2060bo382bobobo6bo$2059bo383bo3bo4bobo$2441b2o5b2ob3o$2440bo4bo4b
2o$2439b2o2b2obo2b3o$2181bo259bob6obo$2180bo267b2o$2180b3o265bo2$1666b
o775b2o$1664b2o777bo$1665b2o773b3o$1918bo521bo$1918bobo$1918b2o3$1528b
3o$1530bo$1529bo764b3o$2296bo$2295bo3$2418bobo$2418b2o$2419bo2$1773bo
695b2o$1773b2o693b2o$1772bobo695bo3$1641bobo$1641b2o253bo$1642bo252bo
255bo$1895b3o252bo$2150b3o2$1506bo511b2o2422bo$1506b2o509bobo2420bobo$
1505bobo511bo252b2o2167b2o$2271bobo$2273bo3$2397bo$2395b2o$2396b2o3$
1750b2o$1749bobo$1751bo$2495b2o$1619bo874b2o$1618bo877bo$1618b3o$2128b
o$2128bobo$2128b2o383b2o$2513bo$1483b2o510b2o518bo$1484b2o510b2o497b2o
14b5o$1483bo511bo253b2o245bo13bo$2250b2o244bobo12b3o$2249bo247b2o15bo$
2511b4o$2506b2o3bo3b2o$2373bo132b2o4b3o2bo$2373bobo138bob2o$2373b2o
139bo$2513b2o2$1727b2o$1728b2o775b2o$1727bo777bo$2506b3o$2508bo$4482bo
$1850bobo253bo382b2o1992bo$1850b2o253bo382bobo1990b3o$1851bo253b3o382b
o$1591bobo$1591b2o$1592bo379b3o$1459b3o512bo$1461bo511bo252b3o$1460bo
767bo$2227bo2$2351bo$2350bo$2350b3o9$1828bo$1827bo638b2o$1697b3o127b3o
637b2o$1569bo129bo766bo$1568bo129bo$1568b3o379b2o$1437bo511bobo2559bo$
1437b2o512bo252bo2304bobo$1436bobo765b2o2304b2o$2203bobo5$2070bo$2069b
o$2069b3o502b2o$2573bobo$2567b2o4bo$2565bo2bo2b2ob4o$2565b2obobobobo2b
o$2568bobobobo$2568bobob2o$1806bo762bo$1804b2o637bo$1805b2o636b2o137b
2o$1547bo894bobo128b2o7bo$1545b2o1026b2o5bobo$1546b2o1032b2o1951bo$
1414b2o895bo2222bo$1415b2o252b2o640bobo2218b3o$1414bo255b2o639b2o$
1669bo$2178bo$2178b2o$2177bobo390b2o$2560bo10bo$1918bo640bo8b3o$1918b
2o639b3o6bo$1917bobo662b2o$2581b2o$2583bo5$1782bo$1781bo255bobo380b2o$
1781b3o253b2o380bobo$2038bo382bo2$1392bo896bo$1392b2o126bo126bo640bo
2267bo$1391bobo125bo127b2o639b3o2266b2o$1519b3o124bobo2907b2o5$2537bo$
1895b2o640bobo$1894bobo640b2o66bo$1896bo707b2o$2604bobo6$1759bo255bo$
1759bobo252bo382b2o$1759b2o253b3o381b2o$2397bo2$1369b2o$1368bobo126bo
126b2o639bobo2312bo$1370bo126bobo123bobo639b2o2311bobo$1497b2o126bo
640bo2312b2o9$2641b2o$2641bo$1867bo255b2o518bo$1867b2o253bobo498b2o14b
5o$1866bobo255bo499bo13bo$2624bobo12b3o$1992bo632b2o15bo$1992bobo644b
4o$1992b2o640b2o3bo3b2o$2634b2o4b3o2bo$1733bo766bo126b2o13bob2o$1731b
2o510bo256bobo123bobo13bo1959bo$1474bobo255b2o508bo257b2o126bo12b2o
1960bo$1474b2o766b3o2356b3o$1475bo$2633b2o$2633bo$2634b3o$1595b3o1038b
o$1338b2o257bo$1339b2o255bo$1338bo4$1844b2o254b2o$1845b2o254b2o252b3o$
1844bo255bo256bo$2356bo$1969bobo$1969b2o$1970bo2$1709bo$1709bobo509bo
381b2o2019bo$1709b2o508b2o381bobo2020b2o$2220b2o382bo2019b2o$1449bobo$
1449b2o$1450bo$1573b2o$1316bo255bobo$1316b2o256bo894bo$1315bobo1149b2o
$2468b2o3$1822bo$1822b2o509b2o$1821bobo508bobo$2334bo$1948bo$1946b2o$
1947b2o4$2580b2o$2196bobo380bobo120b2o$2066b3o127b2o383bo119bobo$2068b
o128bo497b2o4bo$1681bo385bo625bo2bo2b2ob4o$1680bo1012b2obobobobo2bo$
1680b3o1013bobobobo$1293b2o1401bobob2o$1292bobo1150bobo249bo$1294bo
1150b2o2210bo$1546bo899bo263b2o1943bobo$1546b2o1153b2o7bo1945b2o$1417b
obo125bobo1153b2o5bobo$1417b2o380b2o907b2o$1418bo381b2o508b3o$1799bo
512bo$2311bo390b2o$1924bo776b2o$1924bobo776bo$1924b2o$2698b2o$2699bo$
2696b3o2227b2o$2174bo382b3o136bo2229b2o$2173bo385bo$2173b3o382bo2$
1659bo$1657b2o381b2o$1658b2o381b2o637bobo$2040bo639b2o$2422bo258bo$
2422bobo$1523b2o897b2o$1395bo126bobo$1394bo129bo252bo$1394b3o380b2o
509bo$1776bobo509b2o$2287bobo2394bobo$1902bo2782b2o$1901bo2783bo$1901b
3o824bo2455b2o$2727b2o2455b2o$2727bobo2$1255b2o$1254bobo$1256bo3$1635b
obo$1635b2o509bobo$1636bo509b2o$2147bo$2399bobo$2399b2o$2400bo$1372bo
126b3o$1372bobo126bo$1372b2o126bo$2264b2o$2263bobo$1879bo385bo$1749b3o
127bobo$1751bo127b2o635b2o232b2o$1750bo766b2o231bobo$2002bo513bo233bo$
2002b2o638bo$1232b3o766bobo638bobo$1234bo1407b2o$1233bo$2769b2o1946bob
o$2769bo1948b2o$2124bo646bo1946bo$2123bo627b2o14b5o$2123b3o626bo13bo$
2752bobo12b3o$2753b2o15bo$1607bo1159b4o$1477bo129bobo1152b2o3bo3b2o$
1477b2o128b2o1153b2o4b3o2bo$1476bobo893bo397bob2o$2372bobo395bo$2241b
3o128b2o395b2o$2243bo$1727bo514bo$1727b2o765bo266b2o$1726bobo765b2o
265bo$2493bobo266b3o$1979b2o783bo$1210b2o768b2o637bobo$1209bobo767bo
639b2o$1211bo1408bo$1336bo3403bo$1336bobo3402b2o$1336b2o3402b2o$2102bo
$2100b2o$2101b2o3$2735b2o$1454b2o1278bobo$1453bobo894bo385bo$1455bo
893bo$1836bobo380b2o128b3o$1836b2o380bobo$1837bo382bo$1577bobo$1577b2o
124b3o$1578bo126bo$1704bo$1956b3o$1187bo770bo$1187b2o768bo$1186bobo$
1313bobo1148b2o2298bo$1313b2o1150b2o2298bo$1314bo1149bo2298b3o$2078bob
o$2078b2o$2079bo5$2584bo$1815bo766b2o$1813b2o768b2o123b2o$1814b2o508bo
382bobo120b2o$1555bo767bo385bo119bobo2034b2o$1554bo126b2o640b3o497b2o
4bo2033b2o2bo183b2o$1554b3o123bobo1138bo2bo2b2ob4o2027b3ob2o11bo172bo$
1682bo1138b2obobobobo2bo2026bo15b3o174bo$2824bobobobo2004b2o11bo12b3ob
2o8bo157b2o14b5o$2824bobob2o2005b2o10bobo13bob2o8b2o157bo13bo$1164b2o
1659bo2021bobo184bobo12b3o$1163bobo3680b2ob3o183b2o15bo$1165bo1276bo
395b2o2012bo196b4o$2442b2o385b2o7bo1947bo59b2ob3o192b2o3bo3b2o$2441bob
o385b2o5bobo1948b2o57b2obo194b2o4b3o2bo$2057bo778b2o1948b2o264bob2o$
2055b2o125b2o2868bo$2056b2o123bobo2867b2o$2183bo$1284bo$1284bobo3594b
2o160b2o$1284b2o123b2o3432b2o13b2o21b2o160bo$1410b2o1414b2o7bo2007b2o
13b2o184b3o$1409bo1150bobo264bo6b2o1992b2o216bo$1791bo768b2o262b3o7bob
o1990bo2bo$1790bo770bo262bo2001bob2o$1790b3o508bo382bo129bo2011bo$
1533bo381b3o383bobo380b2o126b2o2011b2o$1531b2o384bo383b2o380bobo127b2o
2025b2o$1532b2o382bo2923bo$4841b3o$4843bo3$4819bo$2419b2o2396b3o$2420b
2o2394bo$2419bo2396b2o2$1135b2o1022b3o$1134bobo509b2o513bo2652bo$1136b
o508bobo512bo2654bo$1647bo3165b3o2$1386b3o3417b2o$1388bo637bobo510bo
318bo1946bobo5b2o$1387bo638b2o509b2o318b2o1946bo7b2o$1769bo257bo510b2o
317bobo1944b2o$1767b2o$1768b2o123bo767b2o2155bo$1893b2o765bobo2151b2ob
obo$1892bobo767bo2150bobobobo$4810bo2bobobobob2o$2274bo2535b4ob2o2bo2b
o$2274bobo2537bo4b2o$2274b2o2536bobo$1247bobo3562b2o100bo$1247b2o3665b
3o$1248bo1147b3o2518bo$2398bo2517bobo$2397bo2518bobo$1499bo1279bo2137b
o$1112b2o383b2o1278b2o$1113b2o383b2o1278b2o$1112bo2$1364b2o3566b2o$
1363bobo639bo2926b2o$1365bo637b2o875b2o$2004b2o873b2o$2881bo$4912b2o$
4911bobo$2897b2o2012bo$1741bo1155bo2012b2o7b2o$1740bo511bo646bo2019b2o
$1740b3o379bo128bo382bo244b2o14b5o$2122b2o127b3o380b2o244bo13bo2032b2o
bo$1226bo381b3o510bobo509bobo244bobo12b3o2029b2ob3o$1224b2o384bo1270b
2o15bo2034bo$1225b2o382bo764bo520b4o2028b2ob3o124b2o$2374b2o126bobo
385b2o3bo3b2o2025bo2b2o126bobo$1860bo512bobo126b2o386b2o4b3o2bo2023bob
o131bo4b2o$1860b2o641bo394bob2o2022bobob2obo123b4ob2o2bo2bo$1475bobo
381bobo893bobo140bo2008b2o16bo2bob2o123bo2bobobobob2o$1475b2o1278b2o
140b2o2009bo19bo129bobobobo$1476bo1279bo2151bobo16b2o130b2obobo$4909b
2o13bobo2b2o132bo$2889b2o2033b2o2bo2bo$2877bo11bo2039b2o118b2o$1340b3o
1534b2o11b3o2157bo7b2o$1342bo1533bobo13bo2157bobo5b2o$1341bo3709b2o3$
1079b3o$1081bo$1080bo637bo$1718bobo$1718b2o379b2o510b2o2297b2o149b2o$
2100b2o508bobo2297b2o14b2o133bo$1202bo896bo127bo384bo2289b2o22bo135b3o
$1202bobo1020b2o2676bo23b3o134bo$1202b2o1022b2o253bo2421bobo23bo$2479b
2o2423b2o$1837b2o641b2o$1453bo384b2o893bo$1452bo384bo894bo2041b2o$
1452b3o508bo382b3o383b3o2038bobo$1962bo385bo2418b2o4bo148b2o$1962b3o
382bo2417bo2bo2b2ob4o144bo$4765b2obobobobo2bo142bobo$1318bo3449bobobob
o145b2o$1318b2o253b2o3193bobob2o$1317bobo252bobo3194bo$1574bo$4782b2o$
1057bo1791b3o1921b2o7bo$1057b2o1792bo1921b2o5bobo$1056bobo637bo1153bo
1929b2o$1695bo$1695b3o379bo$2077b2o$2076bobo508b3o$1179bo1023bobo383bo
2329b2o$1178bo1024b2o383bo2314b2o14b2o$1178b3o1023bo2565b2o132bo$1815b
o2955bo129b3o$1815b2o2951b3o130bo$1814bobo893bo2057bo$2324bo385bobo$
1940bo383b2o384b2o246b2o$1940bobo380bobo631bobo$1940b2o1009b2o4bo$
2450bo498bo2bo2b2ob4o1945b2o$2448b2o499b2obobobobo2bo1946bo$1550b2o
897b2o501bobobobo1949bobo$1551b2o1399bobob2o1951b2o$1292b2o256bo1402bo
$1293b2o125bo1406bo$1292bo127bobo1404b2o137b2o$1033b2o385b2o1404bobo
137bo$1032bobo1922bo6bobo$1034bo637bo1283b3o5b2o$1671bo1283b5o$1671b3o
891bo388b2o3b2o$2182bo382b2o388b5o$1157bo1022b2o382bobo389b3o$1155b2o
1024b2o774bo$1156b2o3752b2o$2954b2o1954b2o14b2o$2688bo266bo1946b2o22bo
$2687bo264b3o1948bo23b3o$2687b3o262bo1950bobo23bo$1917bo382b2o2602b2o$
1917bobo123bo257b2o$1917b2o124b2o255bo$2042bobo381bo$1528bo897bobo$
1528b2o896b2o2494b2o$1527bobo3392bo$1269b3o3648bobo$1271bo125bobo380bo
3139b2o$1270bo126b2o381b2o1021b3o127bo$1398bo380bobo1023bo125b2o43b2o$
2804bo127b2o42bobo$1649bo1326bo$1649bobo$1649b2o891b2o$2158bobo380bobo
$1133bo1024b2o383bo$1133bobo1023bo$1133b2o2$2666bo2252b2o$2664b2o2237b
2o14b2o$2665b2o2237bo$2277b3o2621b3o$1893bo385bo2621bo$1893bobo382bo$
1893b2o508bobo$2403b2o$2404bo2$1375bo3531b2o$1374bo1406bo2126bo$1374b
3o123b2o254b2o1023b2o126bobo1996bobo$1499bobo255b2o1021bobo126b2o1998b
2o$986b2o513bo254bo1153bo$985bobo638bobo380b2o$987bo638b2o382b2o$1627b
o381bo127bo866bo$2135b2o866b2o$2136b2o865bobo5$1232bo$1232b2o1021bo
255b2o2397b2o$1231bobo1021b2o253bobo2397b2o14b2o$2254bobo255bo512b2o
1875b2o22bo$3025bo1877bo23b3o$2381bo645bo1875bobo23bo$2379b2o626b2o14b
5o1876b2o$2380b2o626bo13bo$3008bobo12b3o$1353bo1278bobo374b2o15bo$
1351b2o1279b2o389b4o2155b2o$1094bo257b2o123b2o254b2o898bo384b2o3bo3b2o
1893b2o258b2o$1094bobo381b2o252bobo1283b2o4b3o2bo1892bo$1094b2o381bo
126bo129bo1291bob2o1890bobo$1603bo1422bo1893b2o$1603b3o1403b2o14b2o$
1857bobo253bobo892bobo$1857b2o254b2o895bo$958bo899bo255bo902b2o$958b2o
2057bo$957bobo2058b3o$3020bo2$1209b2o$1210b2o1276b3o253b3o$1209bo1280b
o255bo$2489bo255bo2173b2o$4903b2o14b2o$2357bo2546bo$2357bobo2541b3o$
1970b3o384b2o2542bo$1972bo$1971bo$1072bo$1071bo382b3o253b3o$1071b3o
252bobo127bo255bo$1326b2o127bo126bo128bo3195b2o$1327bo252b2o3326bo$
1581b2o253bo3071bobo$1834b2o1149b3o1921b2o$1835b2o1150bo$935b2o2049bo$
934bobo$936bo2$1187bo1408bo$1187b2o1021b2o383bo$1186bobo1020bobo383b3o
$2081bo129bo$2081bobo$2081b2o764bo$2847bobo2060b2o$2847b2o2061b2o14b2o
$4926bo$4927b3o$2331bo2597bo$2329b2o$1048bobo1279b2o$1048b2o253bo382b
3o253bo$1049bo252bo385bo253b2o$1302b3o382bo253bobo$1812bo1150bo122b2o$
1811bo1151b2o120bobo$1811b3o1148bobo114b2o4bo$912b2o2163bo2bo2b2ob4o$
913b2o638bo1523b2obobobobo2bo$912bo638b2o893b2o632bobo3b2o$1552b2o891b
obo632bob2obo$2447bo126bo506bo3bo$2187b2o383b2o$2188b2o383b2o509b3o7b
2o$1161b3o894bobo126bo895bobobo6bo$1163bo894b2o1022b2o8bobo1820b2o$
1162bo896bo764bo255bo2bo5bo2b2o1820bo2bo$2824bobo253bo4bo3bo1825b2o$
2824b2o253b2o4bo$3088bo$2691bo392bo2bo$2307bobo381b2o392bo$1026bo1280b
2o381bobo$1025bo638b2o642bo773b2o$1025b3o252bo382bobo1417bo$1280bobo
123b2o257bo1414b3o$1280b2o125b2o1671bo$1406bo382bo126b2o1022b2o$1789bo
bo123bobo1023b2o$1789b2o126bo1022bo3$2423b3o$2425bo$2165bo258bo125bo$
2165b2o383bobo549b2o$1139b2o1023bobo383b2o549b2o$1138bobo1962bo$1140bo
1661bo255bo$2801bo255bo$2801b3o253b3o4$875b3o$877bo$876bo381bo382b3o$
1257bo385bo$1257b3o253bo128bo$1382b2o127b2o1149b2o$998bobo380bobo128b
2o379b2o768b2o$998b2o383bo510b2o381bo384bo$999bo893bo383bobo$2277b2o$
2401b2o$2400bobo$2402bo$3125bo$2141b2o981b2o$1116b2o1024b2o980bobo$
1117b2o1022bo$1116bo1662bo255bo$2779bobo253bobo$2779b2o254b2o$1752bo
255bo$1752bobo253bobo891b2o$1752b2o254b2o893b2o$2902bo$1619bo$1236bo
382b2o$1234b2o382bobo893bo$1235b2o1277bobo$976bo382b2o1153b2o123b3o$
975bo384b2o1279bo$845b2o128b3o381bo1280bo512b2o$844bobo1406bo899bo$
846bo1405bo902bo$1866b2o384b3o123b2o755b2o14b5o$1865bobo511b2o755bo13b
o$1867bo510bo757bobo12b3o$3137b2o4b2o9bo$2118b3o1021b3o6b4o$2120bo
1022bo2b2o3bo3b2o$2119bo1026b2o4b3o2bo$3154bob2o$3154bo$1474bobo1676b
2o$1474b2o1277bo$1475bo508bo768bobo123b3o126bobo$1983bo769b2o126bo126b
2o135b2o$1085b2o896b3o894bo128bo135bo$1084bobo2059b3o$1086bo126bo1934b
o$1211b2o$1212b2o$954bo381b3o$952b2o384bo382bo$822b2o129b2o382bo381b2o
$823b2o895b2o$822bo1533bo$1843b2o511b2o$1844b2o509bobo$1843bo382bo256b
o125b2o$2226bobo252b2o127b2o508b2o$2226b2o254b2o125bo511b2o$3120bo$
1581b3o$1583bo$1453bo128bo508bo$1451b2o638b2o$1452b2o636bobo637bobo
124b2o128bo$1962bo767b2o124bobo126b2o$1960b2o769bo126bo127b2o$1961b2o
2$1189bo$1189bobo$1189b2o2$929bo767bobo$929bobo765b2o$929b2o767bo2$
1820b2o$1819bobo382bo126b2o$1821bo381bo126bobo126bobo124b3o$2203b3o
126bo126b2o127bo508b3o$2460bo126bo511bo$1559b2o1537bo$1558bobo$1560bo$
1429bobo636b2o$1429b2o638b2o638bo504b2o$1298bo131bo637bo638b2o125b2o
127bobo247bobo$1298b2o639bo768b2o125b2o126b2o242b2o4bo$1297bobo637b2o
895bo129bo240bo2bo2b2ob4o$1039b2o897b2o1265b2obobobobo2bo$1038bobo
2167bobobobo$1040bo126bo2040bobob2o$1165b2o2042bo$779b2o385b2o$778bobo
126bo2314b2o$780bo125bo767bo1538b2o7bo$906b3o765bobo1536b2o5bobo$1674b
2o1544b2o2$1797b3o$1799bo508b2o128bo$1798bo510b2o125b2o$2308bo128b2o2$
1536b3o1671b2o$1538bo1672bo$1408bo128bo508bo128bobo892b2o136b3o$1406b
2o638b2o127b2o894b2o135bo$1407b2o636bobo128bo508bobo254bo127bo$1275b2o
1408b2o253b2o$1276b2o637bo770bo254b2o$1275bo639bobo$1016b3o896b2o$
1018bo$1017bo125bo$1143bobo1403b2o254b2o423bo$756b2o385b2o1403bobo253b
obo382bo39b2o$757b2o125bo1665bo255bo381bo40bobo$756bo127bobo764bobo
1534b3o$884b2o765b2o$1652bo2$2286bo$2286b2o126bo$2285bobo126bobo$2414b
2o3$2154bo$2023b2o127b2o893b3o$2024b2o127b2o894bo$1382bo640bo1024bo$
1382bobo$1251bo130b2o509bo$994b2o255b2o638b2o$993bobo254bobo639b2o$
995bo1661bo$1759bo896bo$1759b2o765b2o128b3o123b3o467b2o$733b3o1022bobo
766b2o255bo467bobo$735bo1790bo256bo468bo$734bo125bo256bo$860bobo252b2o
2046bobo$860b2o254b2o2045b2o$1496b2o1666bo$1497b2o125bo638b2o$1496bo
127bobo635bobo$1624b2o638bo3$2899bo$2898bo$2898b3o123b2o$3025b2o$3024b
o$3281b2o$1228b2o639bo1411bo$971b3o255b2o638bobo1411bo$973bo254bo640b
2o1392b2o14b5o$972bo1662bo628bo13bo$2633b2o125bo503bobo12b3o$2503b3o
128b2o124b2o503b2o3b2o10bo$2376bo128bo253bobo507bob2o6b4o$838bo1279bo
255b2o128bo764bo3bo5bo3b2o$837bo255bo255bo382b2o384bobo254b2o893b3o7b
3o2bo$837b3o253bobo253bobo381b2o383b2o1151bo10bob2o$1093b2o254b2o381bo
1549bo$1602bo1678b2o$1601bo$1471b2o128b3o$1472b2o1799b2o$1471bo1801bo$
700b2o1278b3o1291b3o$701b2o1279bo252b3o638bo399bo$700bo1280bo255bo638b
obo123bo128bo$2236bo639b2o124b2o127bobo$3001bobo127b2o3$1205b3o$1207bo
$1206bo$3250b2o$1843bo1405bobo$944b2o895b2o1408bo$945b2o895b2o252bo$
944bo1150bo$1326bobo380b3o383b3o$1069bobo254b2o383bo1020b2o$1069b2o
256bo382bo1020bobo$1070bo1662bo3$808bobo1534bo$808b2o1148bo384b2o$809b
o1148b2o384b2o$1444b2o511bobo893bo$1443bobo1407bobo$1445bo1407b2o$
2465b2o$2466b2o$2465bo$1182b2o$1183b2o1020b2o$1182bo1023b2o381bobo$
2205bo383b2o636b2o$2590bo637b2o$921b3o638bo1664bo$923bo637bo$922bo638b
3o$1815bo$1814bo894b2o$1814b3o252bobo638b2o$2069b2o638bo632b2o$2070bo
1270bobo$786bo2548b2o4bo$785bo511bo1023bo1011bo2bo2b2ob4o$785b3o252bo
255bo382b2o640bobo635b2o372b2obobobobo2bo$1040bobo253b3o381b2o639b2o
635bobo127bo247bobobobo$1040b2o379b2o256bo1150bobo127bo125b2o248bobob
2o$1422b2o1406b2o255b2o248bo$1421bo1409bo$1930b2o510b3o905b2o$1931b2o
511bo896b2o7bo$1930bo512bo897b2o5bobo$1159b3o2186b2o$1161bo$1160bo3$
898b2o$897bobo$899bo2438b2o7bo$3339bo6b2o$638b3o1151bo255bo637b3o647b
3o7bobo$640bo893bo255b2o254b2o640bo647bo$639bo894bobo254b2o254b2o638bo
$1534b2o1659bo$763bo2431b2o$763bobo509bo381bo1536bobo$763b2o508b2o382b
2o639bo254bo382b3o$1274b2o380bobo637b2o255bobo252bo129bo126bo$1398b2o
897b2o254b2o252bo129bo125b2o$1397bobo765b2o640b3o254b2o$1399bo764bobo
1150bo$1907b3o256bo1149bo$1909bo1406b3o$1908bo6$875b2o127bo$876b2o126b
obo$875bo128b2o2363b2o$3368b2o$615b3o1789b2o961bo$617bo1790b2o$616bo
1790bo$741bo$740bo$740b3o379bo511b2o1278b2o$1122b2o511b2o381bobo253bob
o253bobo124b2o254bobo$1121bobo510bo383b2o254b2o254b2o124bobo256bo125bo
$1248bo126b2o642bo255bo255bo126bo125bo256bobo$1247bo128b2o1406bobo254b
2o$1247b3o125bo1408b2o2$1757bo1405b2o$1755b2o1405bobo$1498bo257b2o
1406bo$1497bo638bo$1497b3o636b2o$2135bobo$982bo$852b3o126bo$854bo126b
3o$853bo$593b2o1790bo896bobo$592bobo1790b2o895b2o$594bo1789bobo896bo2$
718bo1150b2o1538b2o$718bobo1147bobo1538bo$718b2o379b2o510b3o256bo381bo
255bo382b2o518bo$1100b2o511bo637bo255bo126b3o255b2o497b2o14b5o$1099bo
512bo381bo256b3o253b3o126bo254bo500bo13bo$1226bo125b2o640bobo638bo125b
obo628bobo12b3o$1224b2o127b2o639b2o765b2o630b2o15bo$1225b2o125bo1409bo
635b2o7b4o$3397bobo2b2o3bo3b2o$1733bobo1404b3o256bo2b2o4b3o2bo$1733b2o
1407bo267bob2o$1476bo257bo1406bo268bo$1474b2o1933b2o$1475b2o2$3401b2o$
3401bo$3005bobo394b3o$957bo1149b2o896b2o397bo$955b2o1149bobo253b2o642b
o253bo$956b2o1150bo252bobo894b2o$2363bo895b2o2$566bo1279b3o$566b2o
1280bo1020bo$565bobo1279bo1021b2o$1972bo895bobo$1971bo$1329b3o639b3o
508bo$1331bo1150bobo$1330bo1151b2o$1711bo$1710bo1023bo$1710b3o1021bobo
$2734b2o2$1195bo381b2o$808bo255b3o126b2o383b2o638bo$808b2o256bo127b2o
381bo638b2o$807bobo255bo1151b2o379b2o384bo$2599b2o381b2o$677bo767bobo
1150bo384b2o379b2o$676bo768b2o892b2o895bobo124bobo$676b3o767bo893b2o
764b2o128b2o127bo$2339bo767b2o128bo$3106bo$543b2o$542bobo2301b2o$544bo
381bobo1916bobo$926b2o1919bo$927bo379b2o$1306bobo1150bobo$1308bo764bo
385b2o$2073b2o385bo$2072bobo$1943bobo$1813b3o127b2o$1815bo128bo$1555bo
258bo1655b2o$1171bo383b2o1912bobo$785b2o384bobo380bobo637bobo1266b2o4b
o$784bobo384b2o1021b2o380bo884bo2bo2b2ob4o$786bo1408bo380b2o382bobo
498b2obobobobo2bo$1424bo1150bobo382b2o502bobobobo$654bo767b2o893bo643b
o253bo125b3o120bobob2o$654bobo766b2o892b2o894b2o128bo121bo$654b2o1660b
obo764b3o128b2o126bo$3085bo392b2o$3084bo384b2o7bo$520bo2948b2o5bobo$
520b2o2301b3o650b2o$519bobo2303bo$1670bo1153bo$1284b3o383bobo1796b3o$
1286bo383b2o1020bo776bo$1285bo764b2o639bo778bo$2051b2o638b3o$1922bo
127bo1415b2o$896bo894bo128b2o1545bo$896bobo892b2o128b2o1541b3o$896b2o
892bobo1671bo2$1019b3o126bobo$762b3o256bo126b2o$764bo255bo128bo1789bo$
763bo2173b2o$2551bo386b2o379bo$2551b2o638bobo125b2o$2422bobo125bobo
638b2o125bobo$2422b2o636b2o130bo$2423bo637b2o$3060bo383bo$497b2o127bo
1535bobo636bo640b2o$496bobo126bo1536b2o637b2o640b2o$498bo126b3o764bo
255bo514bo636bobo$1392bobo252bo638b2o1204b2o$1392b2o253b3o635bobo1204b
obo$2287bo1204bo$2027b3o$2029bo$874bo1023bo129bo$873bo1024bobo$873b3o
1022b2o2$1253b3o$1126bo128bo$739b2o383b2o128bo508b3o$738bobo253bo130b
2o638bo1149bobo$740bo253b2o768bo1150b2o$993bobo1661bo258bo$2657bobo$
2657b2o379bo255bo$3038b2o254b2o$3037bobo253bobo$2140bo1279bobo$604bo
1534bo382bo897b2o$602b2o893bo641b3o380b2o897bo$603b2o764bobo125b2o
1022bobo$1369b2o125bobo764b2o895bo$1370bo893b2o894bobo$2005b2o256bo
126bo769b2o$2004bobo383bobo$2006bo383b2o1128bo$3519b2o$465bo3053bobo$
465b2o2301b3o$464bobo764bo1538bo$847bobo381b2o1536bo$847b2o253bo127bob
o508bo1795b2o$716b2o130bo253bobo508bo127b2o1150bo643bo$717b2o383b2o
509bobo124bobo1149bo646bo$716bo896b2o1020bo256b3o624b2o14b5o$2634bo
885bo13bo$2634b3o883bobo12b3o$3015b2o254b2o248b2o15bo$3014bobo253bobo
262b4o$965b2o2049bo255bo257b2o3bo3b2o$964bobo1151bo1411b2o4b3o2bo$966b
o1149b2o381b2o1037bob2o$579bobo892b2o641b2o381b2o1036bo$579b2o894b2o
1022bo638bo398b2o$580bo893bo1662bo$2368bo768b3o$1855bobo509bo1161b2o$
1855b2o510b3o1147b2o10bo$1856bo379b2o1151bo126bobo11b3o$1340bo894bobo
1150bo129bo13bo$1340bobo635bo258bo1150b3o$1340b2o636b2o$825bo1151bobo$
824bo$824b3o764bo$1590bo126b2o1152bo$1590b3o125b2o1149b2o$691bo1025bo
894bo257b2o$691b2o383bo1535bobo$690bobo381b2o1536b2o$1075b2o1915b2o$
2993b2o$2992bo$2094bo382bo767bo$428bo129bo1534bo383b2o253b3o510b2o$
428b2o126b2o637b2o254b3o639b3o380bobo255bo509bobo$427bobo127b2o637b2o
255bo1279bo$1195bo256bo$1833bo$1832bo511bobo$1832b3o509b2o1148bo$2213b
3o129bo1148b2o$1317bobo895bo1277bobo$1317b2o636b2o257bo$1318bo637b2o$
802bo1152bo$802bobo$802b2o2556bo$1694b3o1663bobo$1696bo893bo769b2o$
668b2o1025bo893bo$667bobo253b2o127bo1536b3o$669bo254b2o126bobo1789bo$
923bo128b2o1788b2o125bo$2843b2o124b2o$2968bobo$2071bo638b2o510b2o$405b
2o127bo638bo255bo641bobo635bobo509bobo$404bobo127bobo636b2o254b2o640b
2o379b2o257bo511bo$406bo127b2o636bobo253bobo1020bobo1144b2o$2453bo
1143bobo$1811bo510bo1268b2o4bo$1809b2o510bo1267bo2bo2b2ob4o$1810b2o
509b3o1147b2o116b2obobobobo2bo$3470bobo119bobobobo$1550bobo1919bo119bo
bob2o$1550b2o380b2o254b2o1403bo$1551bo379bobo255b2o$1933bo254bo1417b2o
$3597b2o7bo$1672bo1924b2o5bobo$1672b2o1930b2o$1287bobo381bobo$774bo
255bo256b2o$774bobo123b3o126bo258bo$774b2o126bo126b3o1788bo$901bo1918b
obo765bo$2820b2o764b2o$3330bo256b2o5b2o$2687b3o638b2o265bo$382bo767b2o
1537bo639b2o261b3o$382b2o767b2o252b2o1022b3o256bo381bo521bo$381bobo
766bo255b2o1023bo638bobo$1405bo639bo384bo639b2o$2043b2o1564bo$1786bobo
255b2o1562b2o$1786b2o1820bobo$1528bo258bo$630b2o895bo1023bo$631b2o894b
3o379b2o383bobo253bo$630bo1279b2o382b2o254b3o$1909bo385bo3$1265bo1918b
o$752bo511bo1919b2o$751bo512b3o1916bobo252b3o$751b3o252bobo1789bo641bo
$1006b2o1789bo641bo$1007bo1789b3o764bo$3564bobo$1641bo1664bo257b2o$
489bobo1149b2o1663bobo$489b2o636b3o253bo256bobo1663b2o$490bo379b3o256b
o253b2o$872bo255bo253bobo$871bo$1764bo$1763bo382b2o254b2o$1763b3o379bo
bo255b2o252b3o$608bo896bo641bo254bo256bo$608b2o895bobo1020bo129bo252b
3o$607bobo895b2o379b3o639bobo382bo125bobo$1888bo639b2o382bo126b2o$
1887bo382bo769bo$2268b2o$2269b2o$1242bo1918b2o$1242bobo1915bobo253bo$
343b2o640bo256b2o1918bo253b2o224b3o$344b2o382bo254b2o2430bobo224bo$
343bo382b2o256b2o2657bo$727b2o2812bobo$3284bo256b2o$467bo1150b2o1663bo
258bo$466bo638bo513b2o1662b3o$466b3o636b2o511bo382bobo$1104bobo894b2o
765bo$2002bo765bobo$2768b2o895b2o$3665bo$2379b3o253b2o1030bo$2381bo
252bobo1010b2o14b5o$585b2o1793bo255bo1011bo13bo$586b2o2430bo629bobo12b
3o$585bo1150bobo1277b2o631b2o15bo$1736b2o765bobo511b2o644b4o$1737bo
765b2o380bo772b2o3bo3b2o$836bo1667bo380b2o771b2o4b3o2bo$836b2o2046bobo
779bob2o$835bobo381bobo1021bo894b3o525bo$321bo897b2o1022bobo894bo252b
2o270b2o$321b2o638bobo256bo1022b2o894bo254b2o252bo$320bobo381bobo254b
2o2430bo254b2o$704b2o256bo891b3o1662bo127bobo7b2o$705bo764bo385bo1661b
o138bo$1340b2o127bo385bo1662b3o137b3o$445bo893bobo127b3o2188bo$443b2o
896bo637bo1279bo$444b2o1532bo1280bobo$1978b3o764bobo511b2o$2745b2o$
2746bo$1077bo$1077b2o1277b2o254b2o$1076bobo1276bobo255b2o$2357bo254bo$
1715bo1278bobo$560b2o1151b2o767bo511b2o$559bobo1152b2o764b2o513bo$561b
o1020b2o897b2o379b2o$1583b2o508bo767bobo$1582bo510b2o768bo$2092bobo
125bobo$1195bo1024b2o$682bo512bobo1023bo1403b2o$681bo513b2o635b2o1792b
2o$681b3o1147bobo1791bo$1833bo$1317b3o$1319bo1917bo$420bobo895bo638bo
1278bo$420b2o380b2o1151b2o1279b3o$421bo379bobo1152b2o$803bo2556bo$287b
2o3071b2o$288b2o764b2o2046b2o255bobo$287bo767b2o1276b2o254b3o511b2o
381bobo$1054bo1279b2o255bo510bo383b2o$2333bo256bo896bo$2715bo$537b3o
2174bo$539bo1020bo1153b3o$538bo382bo638b2o1277b3o$919b2o638bobo1279bo$
920b2o1277bo640bo$2197b2o254bo512bo$1172bobo1023b2o252bo511b2o637bo
122b2o$1172b2o1278b3o510b2o636b2o120bobo$658bo514bo2428bobo114b2o4bo$
658bobo3056bo2bo2b2ob4o$658b2o635bo2421b2obobobobo2bo$1295b2o2423bobob
obo$398bo895bobo2423bobob2o$397bo3323bo$397b3o379b2o1278b3o$780b2o
1279bo1672b2o$779bo1280bo1276b2o386b2o7bo$264b3o3071b2o385b2o5bobo$
266bo3070bo127bo266b2o$265bo1149bo255bo638b3o1150b2o$1029bo385bobo253b
obo123b2o513bo1151b2o252bo$1029b2o384b2o254b2o125b2o511bo1406bobo$515b
o512bobo766bo895bo1024b2o$515b2o2174b2o$514bobo1020b2o383bo769b2o$897b
obo638b2o382bobo1276bo520b2o$897b2o638bo384b2o1277bobo519bo$898bo2302b
2o517b3o$2430bo382b3o126bobo775bo$1149bo1280bobo382bo126b2o$1149bobo
1278b2o382bo128bo$635bobo511b2o$635b2o$636bo$3063b3o509b2o$3065bo508bo
bo163b2o$1269b2o1793bo511bo162b2o$756b3o509bobo2470bo$758bo511bo1276b
2o766bo$242bo514bo1790b2o765b2o$242b2o126bobo2174bo766bobo$241bobo126b
2o$371bo1021bo2302bo$1391b2o381b3o1918bo$1392b2o382bo1918b3o$1775bo
893bo$1003b2o510bo1152bo$876bo127b2o509b2o126bo511bo512b3o$874b2o127bo
510bobo126bobo509bobo1020bobo$875b2o766b2o510b2o1021b2o$2791bo129bo
257bo$2278b3o510b2o126b2o$1126bobo1151bo125bobo381bobo127b2o$1126b2o
1151bo126b2o$483b3o641bo1279bo$485bo$484bo$3552b2o$608bo2944b2o$608bob
o1276bobo1533bobo126bo$608b2o1277b2o636bo897b2o$1244bo643bo636b2o509b
2o386bo$219b2o127bo895b2o765bo512bobo510b2o$220b2o125bo895bobo765b2o
1023bo$219bo127b3o1660bobo1276b2o$1369bobo380b2o1534bobo383bo95b2o$
1369b2o380bobo1536bo381b2o95b2o$1370bo382bo1919b2o96bo$2647bo$1621bo
511bo511b2o$852bobo765bo511bo513b2o508bo$852b2o766b3o509b3o1020bo$853b
o123b3o2175b3o$979bo1788b2o$978bo1406bo381bobo$2383b2o384bo$2384b2o
1407b2o$3793bo$3795bo$714b2o383bo1791bobo881b2o14b5o$586bo126bobo383bo
bo1789b2o883bo13bo$585bo129bo383b2o1791bo509bo373bobo12b3o$585b3o1659b
2o1151b2o375b2o15bo$2246bobo253b2o510bo386b2o388b4o$2248bo252bobo510b
2o770b2o3bo3b2o$196b3o1789b2o513bo509bobo770b2o4b3o2bo$198bo1790b2o
1788bo14bob2o$197bo1149bo640bo1790b2o13bo$1346bo126b3o2302bobo12b2o$
1216b3o127b3o126bo252bo128bobo1789bo$1218bo255bo253b2o127b2o1789bo$
1217bo509bobo128bo1789b3o134b2o$830bo2954bo$829bo767bobo509bo1676b3o$
829b3o123b2o640b2o510bobo1020bobo653bo$954bobo641bo510b2o508bo512b2o
124b3o253b2o$956bo1661bo514bo126bo252bobo$2361bo256b3o638bo255bo$312bo
2047bo382bo$312bobo2045b3o380b2o$312b2o123b3o2302bobo$439bo2429bo$438b
o637bobo1789bo$1076b2o1790b3o$1077bo2301bo$2224b3o1150b2o$687bo1538bo
1151b2o$174bo512b2o1536bo764b3o$174b2o510bobo2303bo$173bobo2815bo$557b
o1917bo1279b2o$555b2o637bo129bo510bo639b2o1277bobo$556b2o636b2o126b2o
381b2o127bo639bobo1150bo128bo$1193bobo127b2o379bobo127b3o1788b2o$1706b
o1919b2o$1575bo$806bo767bo511bobo1022bo$805bo126b3o509bo129b3o509b2o
1021b2o$805b3o126bo509b2o509b2o130bo508bo513b2o379b3o$933bo509bobo510b
2o638bobo894bo$290bo1664bo383bo256b2o894bo$289bo2047b2o381b2o$289b3o
123b2o1921b2o379bobo$414bobo2304bo$416bo2429bo$2846bobo$2846b2o$3355bo
$3355bobo$664b2o2302bo386b2o$663bobo382bo1919b2o$665bo381bo1919bobo$
1047b3o$533bo1918b2o1278b2o$533bobo764bo1152b2o764b3o511b2o$146b2o385b
2o635b2o128bobo1149bo768bo381bo128bo$145bobo1023b2o127b2o1918bo381bo$
147bo1022bo2431b3o$2064bo$910b2o1151bo$782bo126bobo509b2o640b3o1403b2o
$781bo129bo510b2o2044bobo$781b3o637bo2048bo$1547bo126b2o639bo767bo$
266bo1280bobo123bobo639bobo379b2o383bo$265bo126b3o1152b2o126bo508b2o
129b2o381b2o382b3o$265b3o126bo1790b2o510bo$393bo1790bo638bobo$2823b2o$
2824bo$2565bo767bo$2563b2o766b2o$641bo1922b2o379b2o385b2o$641b2o382bo
768bo1149bobo$640bobo382bobo764b2o125b3o1024bo$1025b2o766b2o126bo$510b
obo1407bo$510b2o765bobo1148b3o$123b2o386bo635b3o127b2o1151bo1150bo$
124b2o1023bo128bo1150bo1149b2o$123bo1024bo2431b2o$2041bo$2041bobo1147b
3o$760bo1280b2o1150bo252b3o$758b2o2432bo255bo$759b2o764bo1921bo$1395b
2o127bo767bo768bo$244bo125b2o1024b2o126b3o764bo382b2o383b2o$242b2o125b
obo509bo513bo895b3o379bobo384b2o$243b2o126bo509b2o1792bo1020b3o$880bob
o2815bo$2799bo897bo$2799bobo$2799b2o508bo$3309bobo$618b2o2689b2o$619b
2o381bobo892bo$618bo383b2o893b2o$489bo513bo892bobo$487b2o$488b2o635bo
129bo$100b3o1022b2o126b2o$102bo1021bobo127b2o379bo128bo$101bo1533b2o
127bobo379b3o$1634bobo127b2o382bo382bo637b2o$2147bo381b2o637bobo382bo$
2530b2o638bo381bo$3552b3o$1373bo129bo$734bo638b2o126b2o767bo637b2o$
220bobo509b2o638bobo127b2o764b2o381b3o253bobo509b2o$220b2o511b2o1534b
2o382bo255bo510b2o252b2o$221bo2430bo766bo253bobo$2777bo897bo$343bo
2432bo$343b2o2431b3o$342bobo508bo$853b2o$852bobo125bo$979bo$979b3o
2301bo$3281b2o$3282b2o$78bo1152bo$78b2o1151bobo$77bobo382bo768b2o379b
2o510b2o$460b2o1149bobo509bobo$461b2o1150bo511bo381bobo$1738bobo766b2o
1022bo$1738b2o768bo1020b2o$1739bo1790b2o$1479bo382b2o$198bo511bobo766b
obo379bobo1021b2o127bo$197bo512b2o636bo130b2o382bo1022b2o125bo382b3o$
197b3o379b3o129bo379bo256b2o1535bo127b3o382bo252b3o$581bo509b2o254bobo
2047bo255bo$580bo509bobo1149bo1409bo$320b2o1919bo$319bobo1919b3o123b2o
$321bo508b2o1151bo384b2o252bo$831b2o1150bobo381bo254b2o$830bo127bo
1024b2o636bobo$956b2o$957b2o2300bo$3259bobo$3259b2o$55b2o$54bobo$56bo
1532b3o$1591bo893bo$436bo768bo384bo893bo638b2o$435bo767b2o1279b3o637b
2o$435b3o766b2o891bo1025bo$1457bo639b2o$1456bo639bobo637bo126bo641bo$
1456b3o1276bo127b2o126bo511b2o$1325b2o1408b3o124bobo125bo382bo130b2o
123b2o$686bo381b2o256b2o1662b3o380b2o253bobo$684b2o381bobo255bo2046bob
o255bo$685b2o382bo1150bo$297bo255b2o1663b2o125bo$169bobo125b2o253bobo
1406bo257b2o124b2o$169b2o125bobo255bo1405bo383bobo252b2o$170bo1789b3o
637b2o$2599bo2$1827b3o$1829bo$1828bo$32b2o$33b2o1532b2o$32bo1533bobo$
1568bo$1181bobo509bobo$1181b2o510b2o$1182bo511bo379b2o$1434bo638bobo$
1434bobo638bo638bo766bobo$1303bo130b2o1276b2o767b2o$1303b2o1408b2o379b
2o386bo123b3o$407bo254bo382b2o255bobo1788bobo126bobo383bo$405b2o255bob
o381b2o2047bo126b2o383bo$406b2o254b2o381bo1150bobo1024bo$274b2o254b2o
1664b2o$147bo127b2o254b2o1664bo253bo511bo$145b2o127bo255bo1918b2o510b
2o$3b2o141b2o635b2o1665b2o510b2o$4bo777bobo$2bo781bo126bo2429b3o$2b5o
14b2o886b2o2432bo$7bo13bo888b2o2430bo$4b3o12bobo$3bo15b2o2804b2o$3b4o
2305b2o510bobo$b2o3bo3b2o2299bobo512bo$o2b3o4b2o4b2o1142bo1152bo252b2o
$2obo12bobo1139b2o766bobo636bobo$3bo12bo1142b2o765b2o639bo$3b2o1922bo
123b3o$2053bo$2052bo$11b2o1267b2o1407bo894bo$12bo1010bo255bobo253bo
1152bo382b2o128bo382b2o$9b3o371bo639b2o256bo253b2o1151b3o381b2o125b2o
382bobo$9bo373bobo636bobo509bobo638bo895bo128b2o252bo$383b2o1403b2o
383b2o1278bo$1787bobo384b2o1277b3o$1659bo129bo$1658bo$760b3o639bo255b
3o764bo$762bo637b2o1022bo$761bo125bobo511b2o1021b3o508bo$887b2o2045bo$
500b2o386bo2045b3o$499bobo$501bo2300b3o$2804bo$2803bo$38b3o198b2o895bo
bo765bo638b3o$38bo201b2o894b2o765bo641bo$39bo199bo897bo765b3o123b2o
513bo764b3o$621bo1406bobo1280bo$620bo1409bo1279bo$620b3o$106bobo$106b
2o3069bobo$107bo252bobo2814b2o$360b2o1916b2o898bo253bo$361bo891bo1025b
2o1149b2o$1253b2o1023bo1152b2o123b3o$1252bobo381bo1921bo$738b2o896bobo
508bobo1407bo$737bobo638bo257b2o509b2o254bo$739bo126bo511bobo767bo252b
2o$864b2o512b2o1022b2o252bo256bo$865b2o1789bobo252b2o$477b3o2176b2o
254b2o$479bo2300bo$478bo1020bo1280b2o$1499b2o1278bobo$1498bobo1020bo
511b2o$62b2o1817bo639b2o511b2o$61b2o1818bobo636bobo510bo253b2o$63bo
1686b2o129b2o1403bobo$598bo382bo769b2o252b3o1280bo$74bo523bobo380b2o
767bo256bo$74b3o7bo513b2o380bobo1023bo$77bo5bo$76b2o5b3o252bo$337bo
1918bo896bobo$337b3o1916b2o895b2o$1230b2o1023bobo896bo379b2o$1229bobo
2301bobo$1231bo894bo1408bo$2124b2o$86b2o114bo1922b2o252bo$79b2o5bobo
113b2o894bo1280bobo$79b2o7bo112bobo893bo1281b2o1020bobo$88b2o365b2o
254bo128bobo254b3o252bobo1277bo768b2o$454bobo254b2o127b2o510b2o1278bob
o252bo514bo$75bo380bo253bobo128bo511bo1278b2o253bobo$74bobob2o1396b2o
1409b2o$74bobobobo1394bobo$71b2obobobobo2bo1393bo381bo$71bo2bo2b2ob4o
1774bo638b3o$73b2o4bo1778b3o638bo764b3o$79bobo2416bo767bo$80b2o876b2o
2305bo$959b2o637bobo124b3o$958bo639b2o127bo$1599bo126bo$315bo2815bo$
315bobo1915b2o895bo$315b2o1917b2o894b3o$1207bo1025bo$1207b2o1789b2o
510b2o$1206bobo1788bobo511b2o$2357bo641bo510bo$565bo1790bo382b2o$563b
2o1791b3o379bobo639bo$564b2o252bo511bo638b3o638bo129bo637b2o$432b2o
254b2o127bo511bo641bo637bo255bo513b2o$433b2o252bobo127b3o509b3o638bo
638b3o252bo$432bo256bo1405bo768b3o$1453b2o640bobo1532bo$1454b2o639b2o
1533bobo$1453bo2176b2o$3242b2o$169bo3071bobo$169b2o765bo2306bo$168bobo
765b2o638bo126bo$935bobo637bo127b2o$1575b3o124bobo$293bo$292bo1535bobo
1278bo$292b3o1533b2o1277b2o$1829bo1278b2o$1184b2o$1183bobo1789b3o$
1185bo1791bo$2334bo126b2o513bo$541bo511bo1280bobo125b2o$541bobo509bobo
1278b2o125bo$541b2o252bo257b2o252bo1280bo$665bo129bobo509bobo1276b2o$
665b2o128b2o510b2o1278b2o123b2o$664bobo1276b2o766bobo$1942bobo768bo$
1944bo2$2195bo$2195b2o$2194bobo2$131b2o1419bobo$132bo265b2o1152b2o$
130bo266bobo1153bo252bo1791bo$130b5o14b2o248bo508b2o766bo128bo1279bobo
509bo$135bo13bo759b2o765b2o127b3o1277b2o510b3o$132b3o12bobo758bo766bob
o1408bo$131bo15b2o1012b2o$131b4o1025bobo253b3o$129b2o3bo3b2o1022bo255b
o1532b2o383bo$128bo2b3o4b2o1277bo1020b3o509bobo383bobo$128b2obo387bo
1535bo384bo511bo383b2o$131bo385b2o1534b2o384bo$131b2o385b2o1534b2o252b
o255bo$642b2o1664bobo253bobo$641bobo1664b2o254b2o$139b2o502bo1276b3o$
140bo115bo1665bo1276b2o$137b3o115bo767bobo895bo1276bobo$137bo117b3o
765b2o2175bo$1024bo1147b2o$2173b2o$2172bo$1531bo1279bo637b2o$1529b2o
1278b2o637bobo$375b3o1152b2o1278b2o638bo$377bo382bo125bo2689bo$162bo
213bo381b2o126b2o2686b2o$161b2o596b2o124bobo2687b2o$161bobo1487b2o$
1138b2o510bobo126bo894b2o$1139b2o511bo126bobo893b2o637bo$1138bo127bo
512b2o893bo253b3o382bo$1264b2o1664bo382b3o$495bo769b2o764bobo895bo$
495bobo1533b2o509bo$495b2o1535bo508bo512bo$619b2o1920b3o508b2o$618bobo
2432b2o$620bo1276b2o$233bo768bo381b2o510bobo1277b3o$233bobo764b2o381bo
bo512bo1279bo$233b2o766b2o382bo1791bo$2149b3o253b3o$2151bo255bo$2150bo
255bo$1507bobo1916b3o$1507b2o1919bo$1508bo1918bo$736bo126b2o2687bobo$
736bobo125b2o2686b2o$736b2o125bo2689bo$1116bo511b2o$187b2o927b2o511b2o
637bo$187bobo925bobo510bo639bobo635bo385bo$187bo1054bobo1023b2o636b2o
382b2o$1242b2o1661bobo383b2o$1243bo$2007bo638b2o$2006bo640b2o125bobo$
202bo393b2o1408b3o637bo127b2o$202b3o264bo127b2o2176bo$205bo261b2o127bo
1277b3o1277b2o$204b2o262b2o891b2o513bo1276bobo$209bo1152b2o511bo1279bo
$208bo1152bo765bo255bo$208b3o1916b2o254b2o$2126bobo253bobo$1486bo$
1484b2o254bobo1660bo$214b2o1269b2o253b2o766bo894b2o$207b2o5bobo1524bo
764b2o894bobo$207b2o7bo623b2o1665b2o$216b2o621bobo126bo$841bo125bo638b
o$203bo763b3o123b2o511b2o638bo$202bobob2o886b2o509bobo637bo$202bobobob
o884bo1151b3o1020bobo253bo$199b2obobobobo2bo495bo511bo1662b3o383b2o
253bo$199bo2bo2b2ob4o495bobo509bobo1662bo126bo257bo253b3o$201b2o4bo
499b2o510b2o1662bo125b2o$207bobo1774bo768bo256b2o$208b2o364bo1409bobo
764b2o$317b3o254b2o1408b2o766b2o$319bo253bobo1276b2o$318bo1020bo511bob
o1277b3o$1339b2o512bo1279bo$442bobo893bobo1791bo$442b2o1660b2o$443bo
1659bobo$2105bo$1719bo$1717b2o1661b2o$1718b2o635b3o126bo896b2o$2357bo
126bobo123b2o768bo$817b2o1537bo127b2o125b2o$818b2o126bo1663bo$817bo
126b2o637b2o$945b2o635bobo$1584bo$2860bo$684bobo509bobo1661b2o638bobo$
684b2o510b2o1661bobo638b2o$685bo511bo764bo1538bo$1961bo767bobo$295b2o
254b2o1408b3o765b2o$294bobo255b2o2176bo$296bo254bo1277b3o$1316b2o513bo
$1317b2o511bo$1316bo2$417bo2815bobo$416bo2816b2o$416b3o1021bo254bo
1406bo131bo$1053bo384b2o254bo511bo126bo768b2o$1053b2o384b2o253b3o379b
2o127bo127b2o126bo126bo512bobo$1052bobo1022b2o126b3o124bobo126bobo124b
2o$2076bo384b2o124bobo2$1560b2o$1561b2o$1560bo$789b3o2557b3o126bo$791b
o2559bo125bo$660bo129bo2559bo126b3o$660bobo1276bo767bo$660b2o1277bobo
764bo$272b2o895bo769b2o765b3o$259b2o12b2o894bobo1659bo$260bo11bo896b2o
1660b2o$258bo1034b3o1534bobo$258b5o14b2o1016bo$263bo13bo1016bo$260b3o
12bobo1524b2o1408bo$259bo15b2o118bo1407b2o1405b2o$259b4o130b2o1407bo
1408b2o$257b2o3bo3b2o126b2o1277bo1405b2o$256bo2b3o4b2o635bo126b2o639b
2o381bo128bo894bobo$256b2obo643bobo123bobo640b2o380b2o127bobo123b3o
126bobo639bo$259bo643b2o126bo1021bobo127b2o126bo126b2o$259b2o2049bo
128bo$1538bo$1538b2o$267b2o1268bobo$268bo242bo255bo640bo1918bo$265b3o
243b2o254b2o638bo1919b2o$265bo244bobo125bo127bobo638b3o1532bobo381bobo
$637bo1279bo1024b2o$637b3o1276bo1026bo$283b3o861bo768b3o$283bo862bo$
284bo861b3o1659b2o639bo$1271b2o1534bobo638bo$1270bobo1277b3o256bo638b
3o$1272bo1279bo$2551bo$1779b3o$371bobo1407bo$371b2o1407bo$372bo$1007b
2o1022b2o254bo$1008b2o1022b2o253b2o126bo$1007bo1023bo254bobo126bobo$
1645bo769b2o252bobo$1515b2o127bo1024b2o380bo$1514bobo127b3o1023bo380b
2o$1516bo1533bobo$488b2o254b2o640bo1917b2o$487bobo253bobo638b2o1919b2o
$489bo125bo129bo639b2o1533bo383bo$614bo1279bo1023b2o$614b3o1277bobo
1022b2o252bobo$307b2o816bo768b2o1277b2o$307bobo813b2o2049bo$307bo816b
2o2301bo$865bo1662b2o895b2o$864bo1662bobo896b2o$864b3o1662bo2$1756b2o
383bobo$1755bobo383b2o$1757bo384bo$985bo$985b2o1021b3o$984bobo1023bo
381bobo380b2o$2009bo382b2o382b2o$1622bo770bo381bo$330bo905b2o384bobo$
330b3o902bobo384b2o$333bo903bo$332b2o131b2o254b3o638bobo$466b2o255bo
638b2o$465bo127bo128bo640bo508bo1023bobo$591b2o1278bo1024b2o254bo$592b
2o1277b3o1023bo252b2o$329b3o1920b3o382bo513b2o$329bo4bo1919bo382bobo
635b3o$330bo3bo7b2o1138b2o769bo383b2o638bo$342bobo1138b2o1020b3o768bo
125bo$332bo2b2o7bo1137bo1024bo893bo$336bo7b2o2160bo894b3o$334bobo$331b
2o1400b2o$330bo5bo1397b2o$330bobo3bo1396bo$327b2obobobo4bo1646bo$327bo
2bo2b2ob4o1646b2o$329b2o4bo1649bobo764b3o$335bobo2416bo$336b2o1261bobo
1151bo$1213b3o383b2o$1215bo384bo764bo$443bo770bo1150bobo$443b2o383bo
254bo1281b2o$442bobo381b2o255bobo$569bo257b2o123b3o128b2o252bo767bo$
568bo385bo382bobo764bo1023bo$568b3o382bo383b2o765b3o123b2o896bobo$
2229bobo382bobo511b2o$2231bo382b2o$1459b3o1153bo$1461bo1917bo$1460bo
1020bo897bobo$688b3o1150bobo637b2o896b2o$690bo1150b2o637bobo$689bo
1020b3o129bo$1712bo1276b2o$1711bo1276bobo$2990bo2$2729bo$1578bo1150b2o
127bo381b2o$1576b2o1150bobo125b2o381bobo$1190b3o384b2o1278b2o382bo$
1192bo$1061bo129bo$804bobo253bo$804b2o124bo129b3o252bo638bo$547bo257bo
124b2o382bo639b2o126bo$545b2o382bobo382b3o636bobo126bobo$546b2o1534b2o
1020bobo$2591bo512b2o$2591bobo511bo$2591b2o$3356bo$410b3o253bo1152bo
638b2o896bobo$412bo253b2o1150bo640b2o895b2o$411bo253bobo764b2o384b3o
637bo$1433b2o$1432bo1533b3o$2326bobo639bo$2326b2o639bo$2327bo2$2834bob
o380b2o$1168b2o1664b2o382b2o$387b2o778bobo509b3o1153bo381bo$388bo780bo
511bo$386bo395bo897bo$386b5o14b2o374bo1406b3o$391bo13bo375b3o508bo638b
2o257bo$388b3o12bobo886bobo635bobo126bobo127bo$387bo15b2o629bo257b2o
638bo126b2o1021bo$387b4o643bobo1023bo1020bo$385b2o3bo3b2o638b2o1532bob
o510b3o$384bo2b3o4b2o123bo1023bo1024b2o$384b2obo14bo115bo382b3o638bo
1026bo$387bo13b2o115b3o382bo638b3o1788bobo$387b2o12bobo239b2o257bo894b
o1535b2o$642bobo1150b2o1537bo$644bo764b3o384b2o$395b2o1014bo$396bo
1013bo1020b2o$393b3o2034bobo$393bo2038bo3$2682bo128bobo$1145b3o509bo
1024b2o127b2o$1147bo509b2o1022bobo128bo$1146bo509bobo$759bo1406bo1023b
2o$759bobo1404b2o1021bobo$759b2o1404bobo1023bo$1907b2o127bo$1906bobo
126bo894b3o127bo$1908bo126b3o252bo641bo125b2o$2290bobo638bo127b2o$496b
o382b2o1409b2o$496bobo379bobo126bobo$496b2o382bo126b2o2301bo$620bo387b
o1532bo768bobo$620b2o1150bobo766bobo766b2o$619bobo764b2o384b2o767b2o$
1387b2o126bo257bo$429b3o954bo126b2o893b2o$429bo1084b2o893b2o$430bo
1977bo$1254bobo$1254b2o1533bo$1255bo1532bo$2788b3o3$3167b2o$1118b2o
510b3o1535b2o$1119b2o511bo1020b3o511bo$1118bo512bo252b2o127bo126b2o
513bo252b2o$1885b2o126bobo125b2o125bo385bo252bobo$1884bo128b2o125bo
126bo641bo125bobo$474bo255bo1536b3o765b2o$473bo255bo126b3o2177bo$473b
3o253b3o126bo$857bo1661bo767bobo$597b2o1151bo767bo768b2o$458bo137bobo
765bo384bo768b3o767bo$458b3o137bo765b2o383b3o$452b2o7bo901bobo$452bobo
5b2o1923bo$452bo1932b2o$1232bo1151bobo$1231bo$1231b3o$1485bo1279bobo$
1484bo1280b2o$470b2o1012b3o1279bo$463b2o5bobo$463b2o7bo1135b2o1534bo$
472b2o621b3o509bobo1021bo512b2o$1097bo511bo508bo512b2o510bobo$459bo
636bo893bobo125b2o510bobo$458bobob2o1526b2o125bobo126bo766bo$458bobobo
bo1526bo252b2o766bo$455b2obobobobo2bo239bo126b2o1409b2o765b3o$455bo2bo
2b2ob4o239bobo123bobo1021b2o$457b2o4bo243b2o126bo1020bobo$463bobo1392b
o638bo$464b2o2029b2o$2496b2o2$3260bo$2362b2o896bobo$1722bobo636bobo
509b2o385b2o$1722b2o639bo508bobo$567b3o1153bo1150bo$569bo2173bo$568bo
637bo1535bo$1206bobo1533b3o$1206b2o2$3121b2o$1072b2o1534b2o510bobo$
1073b2o1532bobo512bo$1072bo895bo640bo$1325bo640b2o$685bo639b2o640b2o
123bo$684bo126b2o511bobo765b2o$684b3o125b2o1020b2o255bobo$811bo1023b2o
$1834bo638bo511bobo$2473bobo509b2o$2473b2o511bo3$1444bobo254bo637b2o$
1444b2o253b2o639b2o508b3o$545b2o898bo254b2o637bo512bo$544bobo2304bo$
546bo$1183bobo380bo640bo$1183b2o381b2o638bo$1184bo380bobo638b3o2$1050b
o1664bobo380b2o$922bo127b2o1663b2o382b2o$922bobo124bobo1664bo381bo$
922b2o1020bo$1302b2o640bobo$662bo638bobo640b2o123b2o$662bobo638bo764bo
bo$662b2o1147bo258bo$1811b2o1150bo$1810bobo637bobo509bo$784b2o1664b2o
510b3o$515b2o266bobo1665bo$516bo268bo$514bo$514b5o14b2o1142bobo1533bo$
519bo13bo1143b2o892b2o640bobo$516b3o12bobo1144bo893b2o639b2o$515bo15b
2o2038bo$515b4o$513b2o3bo3b2o637bo381b2o640bo637b2o$512bo2b3o4b2o635b
2o381bobo638b2o639b2o$512b2obo644b2o252bo129bo639b2o637bo$515bo898bobo
891b2o384bo$515b2o897b2o893b2o381b2o$2308bo384b2o2$523b2o10bo$524bo9b
2o743b2o$521b3o10bobo743b2o$521bo372bo384bo765b2o$894bobo891b2o128bo
125bobo$894b2o891bobo126b2o128bo381bo512bo125b2o$1789bo127b2o508bo511b
2o127b2o$761b2o1664b3o510b2o125bo$762b2o$761bo2$3191bo$1653bo1535b2o$
1011bo641bobo1534b2o$1011b2o640b2o$1010bobo1788bo$1137bobo380b3o1278b
2o$1137b2o383bo1277bobo$623bo514bo382bo$622bo1535bo126b3o253bo128bobo$
622b3o1532bo129bo253b2o127b2o$2157b3o126bo253bobo128bo$1387bo$557b2o
827bo$557bobo826b3o$557bo697b2o$1256b2o$1255bo509b2o127bo126b2o$1766b
2o126bobo123bobo1021b3o$1765bo128b2o126bo893bo129bo$738bo2177bobo126bo
$738b2o2176b2o$737bobo125bo$865bobo1533bo$865b2o764bo767b2o766bobo$
1630bo769b2o765b2o$988b2o640b3o1535bo$987bobo$989bo125bo$1114bo1662b3o
$1114b3o1662bo$2649bo128bo$599bobo1534bo381b2o127b2o$599b2o1533b2o381b
obo128b2o$586bo13bo1534b2o382bo$586b3o776bo125b3o$589bo773b2o128bo$
588b2o774b2o126bo2$1872bo$1871bo126b2o254b2o766b2o$1871b3o125b2o252bob
o638bo126bobo$1998bo256bo637bo129bo$715b2o2176b3o$598b2o114bobo126bo$
591b2o5bobo115bo125bo$591b2o7bo241b3o1532bo768bo$600b2o1007bo767bobo
764b2o$1222b2o383b2o125b2o641b2o766b2o$587bo377b2o256b2o383b2o125b2o$
586bobob2o374b2o254bo511bo$586bobobobo372bo1789bo$583b2obobobobo2bo
2159b2o$583bo2bo2b2ob4o2158bobo$585b2o4bo$591bobo2030bobo$592b2o2030b
2o$1469bo641bo513bo$1341bobo125b2o638b2o$1341b2o125bobo639b2o$1342bo2$
1849bo126bo$1849bobo124b2o253b2o766b2o$1849b2o124bobo254b2o637bo128b2o
$2231bo639bobo125bo$692b2o2177b2o$693b2o125bo$692bo127bobo$820b2o1532b
obo$1585bobo766b2o$1199b3o383b2o124b3o641bo$1201bo384bo126bo$1071bo
128bo511bo1405bo$940bo128b2o1661b2o384bobo$940b2o128b2o1403bo257b2o
383b2o$939bobo1533b2o255bo$2474bobo126bo$2601b2o$2602b2o$1319bo767bo$
1318bo768bobo$1318b3o766b2o3$1953b2o$1825bo128b2o1020b3o$1825bobo125bo
1024bo$1825b2o1020bo129bo$798bo2048bobo$668b3o126bo2049b2o$670bo126b3o
1533bo$669bo1661b2o$1177bo255b2o897b2o$1177b2o255b2o$1176bobo254bo$
1047bo$917b2o128bobo635b2o1408bo$916bobo128b2o637b2o508b2o254b2o254b3o
382b2o$918bo766bo511b2o252bobo256bo383b2o$2196bo256bo125bobo127bo$
2579b2o$1554bo510bo514bo$643b2o907b2o510bo$644bo908b2o509b3o$642bo652b
o$642b5o14b2o630b2o$647bo13bo632b2o635bo$644b3o12bobo1269b2o1021b2o$
643bo15b2o1141bobo125bobo1020bobo$643b4o1155b2o1021bo129bo$641b2o3bo3b
2o4bo1146bo1020bo$640bo2b3o4b2o3b2o2167b3o$640b2obo11bobo$643bo1665bo$
643b2o766bo897bobo$1411b2o896b2o$1410bobo$651b2o$652bo371bobo$649b3o
242b2o128b2o124b2o510b3o1021bo384bo$649bo245b2o128bo125b2o511bo764b2o
255b2o383bobo$894bo255bo512bo766b2o126bo126bobo383b2o$2429bo126b2o$
2557b2o$1530bobo$1530b2o$1531bo$1271bobo$1271b2o$1272bo$1781bo1149b2o$
755bo1023b2o1151b2o$754bo1025b2o1149bo$678b2o74b3o$677b2o$679bo1351bo$
2030bo255bobo$1388b2o640b3o123bo129b2o$1389b2o765b2o129bo$1388bo766bob
o637bobo$2795b2o$872bo129bo1793bo$872b2o126b2o125b3o1533b2o$871bobo
127b2o126bo1532bobo$1128bo1405bo129bo$2534bobo$1508bo1025b2o$1507bo$
1507b3o123bo255b2o$1249bo383b2o255b2o1149bo$1248bo383bobo254bo1151bobo
$1248b3o1790b2o$2909bo$2396b2o511b2o$2395bobo510bobo$2397bo$701b2o$
701bobo$701bo2$1365b3o$714bo652bo1405bo$714b3o649bo1405bo$717bo2054b3o
$716b2o131b2o127bo126b2o$850b2o126bobo123bobo$849bo128b2o126bo3$2254bo
$1741bo125bo384b2o$726b2o882b2o127b2o126b2o384b2o764bo$719b2o5bobo497b
o382bobo128b2o124bobo125bobo1021bo$719b2o7bo497bobo382bo382b2o1022b3o$
728b2o496b2o253bo513bo123bo$1479b2o638b2o$715bo764b2o636bobo$714bobob
2o1908b2o$714bobobobo1908b2o$711b2obobobobo2bo1904bo$711bo2bo2b2ob4o
1774bo$713b2o4bo1778bobo$719bobo1776b2o$720b2o$2750bo$2750bobo$2750b2o
$1338b2o$1339b2o1532b3o$1338bo1536bo$823bo2050bo$823b2o127bo$822bobo
125b2o1278bobo$951b2o764bo126b2o384b2o$1075b2o127bo512bobo125b2o126bo
257bo$1076b2o125bo513b2o125bo126b2o1022bo$1075bo127b3o766b2o1020bo$
1457bobo636b2o896b3o$1457b2o638b2o$1458bo637bo509bo$2606b2o$2605bobo2$
2475bobo$1577b2o896b2o$1576bobo897bo$1578bo1149bo$2727bo$2727b3o2$
1315b3o1533b2o$1317bo1532bobo$1316bo1535bo$800b2o$799bobo126bo$801bo
126bobo1403b2o$928b2o891b2o512b2o$1820bobo511bo$1822bo$2074bo$2074b2o$
2073bobo$1689bo$1687b2o$1688b2o$1941bo512bo$1941bobo508b2o$1941b2o510b
2o2$1552b2o1151bo$771b2o780b2o638bo511bobo$772bo779bo638b2o512b2o$770b
o1421b2o$770b5o14b2o501b2o$775bo13bo503b2o$772b3o12bobo502bo126bo1535b
obo$771bo15b2o629bo1150b2o384b2o$771b4o386bo256b3o1147bobo385bo$769b2o
3bo3b2o381bobo1147b2o257bo$768bo2b3o4b2o381b2o635b3o511b2o$768b2obo
257b2o769bo510bo$771bo256bobo768bo$771b2o257bo3$779b2o116bo767bobo$
780bo115bo768b2o$777b3o116b3o767bo$777bo$2044b2o$2043bobo$1530bo514bo
381bo$1530b2o894bo$1529bobo637bo256b3o379b2o$798b3o1367bo638bobo$798bo
471bo897b3o638bo$799bo470b2o$1269bobo$1396bo$1139bo256bobo509bo637b3o$
1138bo257b2o508b2o640bo$1138b3o635b2o129b2o379b3o256bo$1775bobo512bo$
1006b2o769bo511bo$1007b2o$1006bo2$1644bo$874bo767b2o$874bobo766b2o
1277bo$874b2o1788bo255b2o$2663bo257b2o$2021b3o639b3o$2023bo$1507b2o
513bo381bo$1508b2o894bobo$821b2o684bo639bo256b2o379b2o$821bobo1321b2o
639b2o$821bo1324b2o637bo3$2524b2o$2523bobo$1883bobo639bo$1883b2o$1884b
o2$982b2o$983b2o764bo511b2o$842bo139bo766b2o511b2o$842b3o263bo126bo
384bobo125bobo510bo$845bo5bobo253bo127b2o383b2o$844b2o5b2o254b3o124bob
o384bo1276bo$852bo1788bo256bobo$1999bo641bobo254b2o$1999b2o640b2o$
1485bo512bobo$1485b2o$1484bobo$854b2o$847b2o5bobo$847b2o7bo496bobo$
856b2o495b2o$1354bo$843bo$842bobob2o1014bo$842bobobobo1011b2o637b2o$
839b2obobobobo2bo1009b2o637b2o$839bo2bo2b2ob4o1647bo$841b2o4bo112bo$
847bobo110b2o$848b2o109bobo764b2o510b3o$1598bo128b2o511bo$1086bo510bo
128bo383bo128bo$1084b2o511b3o508b2o$1085b2o1022b2o764bobo$2745b2o128b
2o$2361bobo380bobo129bo$2361b2o383bo$2362bo2$2613bo$1971b3o638bo$1332b
o640bo638b3o$1330b2o640bo$1331b2o3$1197b2o639bobo$1198b2o638b2o$1197bo
641bo4$1447b2o254b2o510b2o$1448b2o252bobo511b2o252b2o$1062bo384bo256bo
510bo253bobo$1062bobo1406bo$1062b2o1788bo$2722b3o126bo$2724bo126b3o$
2723bo$927bo$927b2o$926bobo1020bo641bo$1949b2o126bo511b2o$1948bobo125b
o513b2o$2076b3o3$1817bo$1815b2o$1558bo257b2o508bo$1558bobo764bo$1558b
2o765b3o$1170b2o$1171b2o1020bo$1170bo509b2o511b2o$899b2o395bo384b2o
509bobo252b2o$900bo138bo255bo384bo767b2o$898bo139bo256b3o1149bo$898b5o
14b2o119b3o1788bo$903bo13bo1911bobo$900b3o12bobo1911b2o$899bo9bobo3b2o
$899b4o5bo2bo$897b2o3bo3b6o$896bo2b3o4b2o$896b2obo1025b3o127bo510bobo$
899bo1027bo125b2o511b2o$899b2o1025bo127b2o511bo3$907b2o$908bo498b2o
127bo$905b3o500b2o125bo$905bo501bo127b3o$2301bobo$1147b3o1151b2o$1149b
o1152bo$1148bo508b3o$1274bo384bo125bo894b2o$1017bo254b2o384bo125bo896b
2o$1015b2o256b2o509b3o893bo$1016b2o1788bobo$2806b2o$2807bo$931b3o$931b
o$932bo$1903bo641bo$1903b2o126bo511b2o$1902bobo125bo513b2o$2030b3o2$
2154bo$2154b2o$1513bo639bobo252b2o$1513bobo891bobo$1513b2o765bo128bo$
1125b2o1151b2o$1124bobo1152b2o$1126bo$1378b2o$1250bo128b2o381bo$1250bo
bo125bo383bobo$1250b2o510b2o$2783bo$2783bobo$954b2o33bo1793b2o$954bobo
31bo$954bo33b3o$1625b3o$1627bo893bo$1626bo382bo511bobo$2007b2o512b2o$
2008b2o$970bo$970b3o1158b2o$973bo1156bobo$972b2o1158bo252b2o$2386b2o$
2256bo128bo$2256bobo$2256b2o2$1355b3o$982b2o243bo129bo$975b2o5bobo112b
2o127bo129bo$975b2o7bo113b2o126b3o635b2o895bo$984b2o111bo765bobo894bo$
1865bo894b3o$971bo$970bobob2o$970bobobobo626b2o$967b2obobobobo2bo622bo
bo$967bo2bo2b2ob4o624bo$969b2o4bo$975bobo1645b2o$976b2o1646b2o$2623bo$
1981bo126b2o$1980bo128b2o$1467bo512b3o125bo$1466bo$1466b3o$2232bobo$
2232b2o$1333bo899bo$1333b2o$1205bo126bobo$1074b3o126b2o1149bo$1076bo
127b2o1148b2o$1075bo1277bobo3$1837b3o$1839bo893bobo$1838bo637bobo254b
2o$2476b2o256bo$2477bo123bo$2601b2o$2600bobo2$1958bo126bo$1958bobo124b
2o$1958b2o124bobo2$2210bo$1568b2o639bo$1569b2o638b3o$1310b2o256bo126bo
$1309bobo382bo$1052bo258bo382b3o$1052b2o1277b2o$1051bobo1278b2o$2331bo
$1177bo$1176bo638bo$1176b3o636b2o$1814bobo637bo$2453bo$2453b3o4$1027b
2o395bobo$1028bo395b2o509bobo124b2o$1026bo398bo509b2o124bobo509b3o$
1026b5o14b2o889bo126bo511bo$1031bo13bo1528bo$1028b3o12bobo1142bo$1027b
o15b2o500b3o638b2o$1027b4o516bo639b2o$1025b2o3bo3b2o251b3o256bo$1024bo
2b3o4b2o253bo$1024b2obo260bo1020bo$1027bo1281b2o$1027b2o1279bobo2$
1154bo$1035b2o117bobo635b2o$1036bo117b2o509bo125bobo$1033b3o627b2o128b
o638bo$1033bo630b2o764b2o254bobo$2431b2o253b2o$2687bo2$1402bo$1401bo
511bo$1401b3o508bo126b3o509bo$1912b3o126bo509b2o$2040bo509bobo2$1523b
2o$1522bobo638bobo$1524bo638b2o$2164bo$1263b3o$1265bo1020b2o$1264bo
1020bobo$1066b2o1219bo$1065b2o$1067bo2$1641bo126b2o$1641bobo123bobo$
1641b2o126bo637bobo253bo$2407b2o254bobo$2408bo254b2o3$1891bo$1889b2o$
1890b2o635b2o$2528b2o$2527bo$1373bobo765bo$1373b2o124bo640bo$1374bo
124b2o639b3o$1241b2o255bobo$1240bobo$1113bo128bo$1111b2o$1112b2o$1091b
o6bo$1090b2o6b3o902bo$1090bobo8bo517bo383b2o$1100b2o516bo126b3o254bobo
$1618b3o126bo637bo255bo$1746bo637bo255bo$2384b3o253b3o4$1110b2o755bo$
1103b2o5bobo754bobo$1103b2o7bo754b2o635b3o$1112b2o1392bo$1351bo894b2o
257bo$1099bo250bo894bobo$1098bobob2o246b3o123b2o769bo$1098bobobobo370b
obo$1095b2obobobobo2bo110b2o257bo$1095bo2bo2b2ob4o111b2o$1097b2o4bo
114bo894bobo$1103bobo1007b2o$1104b2o1008bo3$1596bo126b2o$1595bo126bobo
$1595b3o126bo893bo$2618bobo$2618b2o2$1973b3o$1975bo381bobo$1974bo382b
2o$2358bo123bo$2482b2o$2481bobo$2223b3o$1839bobo383bo$1839b2o383bo$
1840bo$1195b2o$1194bobo894bo$1196bo893bo$2090b3o2$1320bo$1318b2o125b2o
$1319b2o123bobo126bo126b2o$1446bo126bobo125b2o$1573b2o125bo3$1951bo$
1951b2o383bo254bobo$1950bobo381b2o255b2o$2335b2o255bo2$2458b3o$2201bo
258bo$1817bo383b2o256bo$1816bo383bobo$1816b3o2$1172b2o$1173b2o893bo$
1172bo895bobo$2068b2o2$1155b2o$1156bo$1154bo$1154b5o14b2o$1159bo13bo$
1156b3o12bobo117bo$1155bo15b2o118bobo379b2o$1155b4o132b2o381b2o$1153b
2o3bo3b2o509bo638bobo$1152bo2b3o4b2o1148b2o253bo$1152b2obo1157bo253bob
o$1155bo1280b2o129b2o$1155b2o1278bobo$2178b2o257bo$1538bo256bo381bobo$
1163b2o373bobo252b2o384bo$1164bo373b2o254b2o$1161b3o242bo$1161bo244b2o
$1405bobo$1915bo$1915b2o$1914bobo$1182b2o$1181b2o$1183bo2$2037bo$1651b
o385bobo$1651b2o384b2o$1650bobo638bo$2289b2o$1265bo1024b2o252bobo$
1263b2o1279b2o$1264b2o1147b2o130bo$2414b2o$1516bo638b2o256bo$1515bo
255bobo382b2o$1515b3o253b2o382bo$1772bo$1383b2o$1382bobo$1384bo$1892b
2o$1893b2o$1892bo$1204b3o$1204bo$1205bo$2015bo$2014bo$2014b3o4$1241bob
o1022bo$1241b2o1021b2o$1242bo1022b2o123b3o$2392bo$1226bo267bo254bo641b
o$1226b3o263b2o254bo$1229bo263b2o253b3o$1228b2o1284bobo$1360b3o1151b2o
$1362bo764b3o385bo$1361bo767bo$1869b3o256bo$1612bo258bo$1612b2o256bo$
1238b2o371bobo$1231b2o5bobo$1231b2o7bo$1240b2o750bo$1991bo$1227bo763b
3o$1226bobob2o$1226bobobobo$1223b2obobobobo2bo$1223bo2bo2b2ob4o1006bob
o$1225b2o4bo1010b2o124b2o$1231bobo1009bo123bobo$1232b2o1135bo$1470bobo
254bo$1470b2o253b2o$1471bo254b2o765bo$1338b2o1151b2o$1337bobo765b2o
385b2o$1339bo764bobo$2106bo2$1589b2o$1590b2o$1589bo3$1969bo$1969bobo$
1969b2o$1837b3o$1839bo$1838bo4$1449bo766bobo124b2o$1447b2o767b2o124bob
o$1448b2o767bo126bo2$2469bo$2082b3o382b2o$2084bo383b2o$2083bo$1567bo$
1567b2o$1566bobo2$1692bobo$1306bo385b2o253bo$1306b2o385bo252bo$1305bob
o638b3o4$1812b3o$1814bo$1813bo$2195bo$1425bo767b2o125b3o$1283b2o140bob
o766b2o126bo$1284bo140b2o894bo$1282bo$1282b5o14b2o$1287bo13bo$1284b3o
12bobo$1283bo15b2o$1283b4o$1281b2o3bo3b2o$1280bo2b3o4b2o762b2o$1280b2o
bo387bo383b2o$1283bo385b2o383bo$1283b2o385b2o2$1537bo$1291b2o244b2o$
1292bo243bobo381bobo$1289b3o498bo129b2o$1289bo500b2o129bo$1789bobo637b
o$2428bo$2428b3o$2297b2o$2296bobo$1312bo985bo$1311b2o$1311bobo2$2164bo
$2164bobo$2164b2o$1393bo638bo$1392bo639b2o$1392b3o636bobo4$1514b2o$
1515b2o381bo$1514bo382bo$1767b2o128b3o$1768b2o$1767bo3$2274b3o$2276bo$
1334b2o939bo$1334bobo$1334bo296bobo$1631b2o$1632bo3$2009b2o383bo$2008b
obo383bobo$2010bo383b2o3$1354bo$1354b3o$1357bo$1356b2o3$1358b2o126b2o$
1357bo2b2o125b2o252b2o$1357b2ob2o124bo253bobo$1357b2ob2o380bo$1359bo6b
2o756bo$1366bobo753b2o$1368bo754b2o$1368b2o238bo638b3o$1608bobo638bo$
1355bo252b2o638bo$1354bobob2o$1354bobobobo$1351b2obobobobo2bo496bo510b
obo$1351bo2bo2b2ob4o494b2o511b2o$1353b2o4bo499b2o511bo$1359bobo$1360b
2o620bo$1982b2o$1981bobo5$1463b3o$1465bo252b2o$1464bo254b2o$1718bo$
2100bobo$2100b2o$2101bo123b2o$1585bobo636bobo$1585b2o639bo$1586bo2$
2349bo$2348bo$2348b3o3$1959b2o$1831bo126bobo$1831bobo126bo$1831b2o5$
1439bo255b3o$1439b2o256bo$1438bobo255bo382bo$2077b2o$2078b2o$2202b2o$
2203b2o$2202bo4$2326bo$2324b2o$2325b2o3$1411b2o522b3o$1412bo524bo$
1410bo525bo$1410b5o14b2o$1415bo13bo118bobo$1412b3o12bobo118b2o$1411bo
9b2o4b2o120bo$1411b4o6b3o248b2o$1409b2o3bo3b2o2bo250b2o125bobo$1408bo
2b3o4b2o252bo127b2o253bobo$1408b2obo389bo253b2o$1411bo644bo$1411b2o
766b3o$2181bo$2180bo$1419b2o$1420bo$1417b3o$1417bo884bobo$2302b2o$
2303bo2$1913bo$1913b2o$1912bobo6$1649b3o$1651bo$1650bo$1449bo$1448b2o$
1448bobo$1516bo$1516bobo$1516b2o2$2280bo$2150bo128bo$2150b2o127b3o$
2149bobo2$1763bobo124b2o127bobo$1763b2o126b2o126b2o$1764bo125bo129bo9$
1471b2o$1471bobo$1471bo$1482bo10bobo124b3o$1482b3o8b2o127bo$1485bo8bo
126bo$1484b2o2$2127b2o127bobo$2128b2o126b2o$2127bo129bo$1741bo256bo$
1740bo255b2o$1494b2o244b3o254b2o$1487b2o5bobo368b3o$1487b2o7bo370bo$
1496b2o368bo2$1483bo$1482bobob2o$1482bobobobo$1479b2obobobobo2bo$1479b
o2bo2b2ob4o$1481b2o4bo$1487bobo$1488b2o108bo$1598b2o$1597bobo3$2235bo$
2233b2o$2234b2o2$1718bo$1718bobo379b2o$1718b2o123b2o254bobo$1842bobo
256bo$1844bo4$1967bo$1965b2o$1966b2o8$1571b2o$1572b2o$1571bo2$1696bo$
1695bo511bo$1695b3o379b2o127bo$2078b2o126b3o$2077bo4$1815b2o$1814bobo
126bo$1816bo126bobo$1943b2o5$1539b2o$1540bo$1538bo11bo$1538b5o5b3o6b2o
$1543bo13bo$1540b3o4bo7bobo$1539bo2bo3b3o6b2o$1539b2o4bo6bo$1537b2o3b
2ob2o2b2o2bo$1536bo2b3o3bo$1536b2obobo4bo5bo500b3o$1539bo11bo503bo$
1539b2o7b2o504bo3$1547b2o243b3o$1548bo245bo125bobo$1545b3o245bo126b2o$
1545bo375bo8$1655bo$1653b2o$1654b2o4$2160bo$2159bo$2159b3o3$1770bo$
1770b2o253b2o$1769bobo126bo127b2o$1584bo311b2o127bo$1583b2o312b2o$
1583bobo7$1631bobo$1631b2o$1632bo5$2136bobo$2136b2o$2137bo$1610bo$
1610b3o390bo$1613bo389b2o$1612b2o260bo127bobo$1606b2o266bobo$1605b2o
136b3o128b2o$1607bo137bo$1744bo3$1622b2o$1615b2o5bobo$1615b2o7bo$1624b
2o2$1611bo$1610bobob2o$1610bobobobo$1607b2obobobobo2bo$1607bo2bo2b2ob
4o495bo$1609b2o4bo497b2o$1615bobo496b2o$1616b2o5$1721b2o$1720bobo$
1722bo$1848bo$1846b2o$1847b2o3$1969b2o$1970b2o$1969bo5$2091bobo$2091b
2o$2092bo9$1824bo$1824bobo$1824b2o2$1691bo255bo$1691b2o254b2o$1690bobo
253bobo9$2065bo$1667b2o395bo$1668bo395b3o$1666bo$1666b5o14b2o$1671bo
13bo$1668b3o12bobo$1667bo15b2o$1667b4o$1665b2o3bo3b2o124bobo$1664bo2b
3o4b2o124b2o$1664b2obo133bo$1667bo256b2o$1667b2o256b2o$1924bo2$1675b2o
$1676bo$1673b3o12b2o$1673bo13b2o$1689bo5$2040bobo$2040b2o$2041bo11$
1771bo$1771bobo123b2o$1771b2o123bobo$1898bo3$1713b3o$1713bo$1714bo$
2018bo$2017bo$2017b3o11$1738bo$1738b3o$1741bo132b3o$1740b2o134bo$1875b
o2$1736b2o$1736bobo$1736bo2$1750b2o$1743b2o5bobo$1743b2o7bo$1752b2o2$
1739bo$1738bobob2o$1738bobobobo243bo$1735b2obobobobo2bo239bo$1735bo2bo
2b2ob4o239b3o$1737b2o4bo$1743bobo$1744b2o3$1851b2o$1852b2o$1851bo13$
1965bo$1965bobo$1965b2o6$1828b3o$1830bo$1829bo14$1941bo$1941bobo$1941b
2o3$1795b2o$1796bo9b2o$1794bo10bobo$1794b5o8bo5b2o$1799bo13bo$1796b3o
12bobo$1795bo15b2o$1795bob2o$1793b2o3bo3b2o$1792bo2b3o5bo$1792b2obo$
1795bo$1795b2o3$1803b2o$1804bo$1801b3o$1801bo6$1823b2o$1822b2o$1824bo
8$1903bo$1901b2o$1902b2o11$1845b3o$1845bo$1846bo10$1866bo$1866b3o$
1869bo$1868b2o2$1871bo$1870b3o$1869b5o$1868b2o3b2o$1869b5o$1870b3o5b2o
$1871bo6bobo$1880bo$1880b2o2$1867bo$1866bobob2o$1866bobobobo$1863b2obo
bobobo2bo$1863bo2bo2b2ob4o$1865b2o4bo$1871bobo$1872b2o!
#C [[ STEP 50 ]]

User avatar
Redstoneboi
Posts: 429
Joined: May 14th, 2018, 3:57 am

Re: Slow-salvo recipes

Post by Redstoneboi » June 1st, 2018, 9:28 am

that pattern actually runs faster in hashlife than the original triple snark extruder.
c(>^w^<c)~*
This is 「Fluffy」
「Fluffy」is my sutando.
「Fluffy」has the ability to engineer r e p l i c a t o r s.
「Fluffy」likes to watch spaceship guns in Golly.
「Fluffy」knows Natsuki best girl.

User avatar
Goldtiger997
Posts: 762
Joined: June 21st, 2016, 8:00 am

Re: Slow-salvo recipes

Post by Goldtiger997 » July 30th, 2018, 5:08 am

I decided to try and have another go at compiling slmake today. But I couldn't find the files on my computer. So I tried to download them again. However both of the download links I found do not seem to work.

So can someone point me in the direction of a place where I can download slmake? I'm pretty sure it's way too large for a forum attachment. Maybe calcyman just needs to re-upload it to his hatsya site.

User avatar
Hdjensofjfnen
Posts: 1742
Joined: March 15th, 2016, 6:41 pm
Location: re^jθ

Re: Slow-salvo recipes

Post by Hdjensofjfnen » August 16th, 2018, 8:36 pm

dvgrn wrote:
I definitely want to get back to optimizing the Snarkmaker part of the recipe. The whole thing can be quite a bit shorter, probably around half the current length. We just have to write a custom search utility to start a new slow-salvo search from the intermediate target immediately after the previous 0-degree glider output.

Code: Select all

Snark constructor
I watched and watched until generation 175311... I was so bored up until then though...

EDIT: On gen 246825... the first Snark is born! Whew!

Code: Select all

x = 5, y = 9, rule = B3-jqr/S01c2-in3
3bo$4bo$o2bo$2o2$2o$o2bo$4bo$3bo!

Code: Select all

x = 7, y = 5, rule = B3/S2-i3-y4i
4b3o$6bo$o3b3o$2o$bo!

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

Re: Slow-salvo recipes

Post by dvgrn » September 23rd, 2018, 12:58 pm

Goldtiger997 wrote:I decided to try and have another go at compiling slmake today. But I couldn't find the files on my computer. So I tried to download them again. However both of the download links I found do not seem to work.

So can someone point me in the direction of a place where I can download slmake? I'm pretty sure it's way too large for a forum attachment. Maybe calcyman just needs to re-upload it to his hatsya site.
Took me a while to follow up on this, but there's a shiny new Gitlab repository made by calcyman for slmake -- or "slsparse", as it sometimes seems to be called these days.

I believe the "sparse" label refers to a new ability to compile reasonably efficient recipes for large patterns with groups of still lifes separated by long distances. When it's more efficient to do so, slsparse will automatically build and trigger a Cordership seed, then shoot down the Cordership to get a faraway elbow.

(I bet it's still a 3-engine Cordership seed, though -- another update will be needed at some point!)

Another detail that might not be clear from the instructions-such-as-they-are is that you can add obstacles to the input, consisting of still lifes with >24 bits, and slsparse will attempt to produce a recipe that doesn't damage the obstacles. It doesn't go so far as to create extra elbows and reach around multiple corners to build otherwise unbuildable stuff, but it does allow you to do things like specify backstops or width limits for constructions.

If anyone wants to document a fresh run of the latest slmake on some new project, the result will probably be an improvement on my alpha-version walkthrough instructions linked above.

User avatar
calcyman
Moderator
Posts: 2932
Joined: June 1st, 2009, 4:32 pm

Re: Slow-salvo recipes

Post by calcyman » September 23rd, 2018, 1:33 pm

dvgrn wrote:If anyone wants to document a fresh run of the latest slmake on some new project, the result will probably be an improvement on my alpha-version walkthrough instructions linked above.
As of several minutes ago, the correct way to use slmake is now to include a block-on-mango in infile.mc to indicate the elbow block and incident glider stream. It works in all 8 orientations, and can construct on either side of the input channel.

Here's the example infile.mc included:

Code: Select all

x = 297, y = 262, rule = B3/S23
237b2o$237b2o15$231b2o$231b2o4$238b2o$238b2o40$224bo$222b3o$221bo$221b
2o7$211b2o$210bobo5b2o$210bo7b2o$209b2o84bo$294bobo$223bo70b2o$219b2ob
obo$218bobobobo$215bo2bobobobob2o$215b4ob2o2bo2bo$219bo4b2o$217bobo$
217b2o18$251b2o$251b2o19b2o$272b2o4$279bo$256b2o20bobo$256b2o20b2o2$
175b2o$174bobo$175bo48$217b2o$217bobo$218bo93$bo$obo$o2bob2o$bobob2o$
2bo!
The latest changes should make this work with Cygwin out-of-the-box, i.e. you can just run ./slsparse.cpp and it handles everything correctly. So no need for the complicated sequence of patches in Dave's walkthrough.
What do you do with ill crystallographers? Take them to the mono-clinic!

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

Re: Slow-salvo recipes

Post by dvgrn » September 23rd, 2018, 2:16 pm

A separate email came in from calcyman that explained the workings of the block-on-mango in slightly more detail:
calcyman wrote:It works in any input pattern orientation, and can build on either side of the channel (but currently not both!), and produces an output pattern with the block in exactly the correct coordinates and the glider stream in the correct orientation.

The 'block' of the block-on-mango specifies where the input/output block belongs, and the 'mango' specifies the end of the glider stream incident upon it -- a mango occupies exactly 4 diagonals, same as the envelope of a glider stream.
calcyman wrote:The latest changes should make this work with Cygwin out-of-the-box, i.e. you can just run ./slsparse.cpp and it handles everything correctly. So no need for the complicated sequence of patches in Dave's walkthrough.
Oh, good... though philosophically speaking I'm still not sure I approve of running a .cpp file that's really a bash script the first time you look at it. And there's an automatic update to lifelib in there, too! You could put some secret code in lifelib later, and take over people's machines to mine LifeCAsh or something... though considering the number of slsparse users, I'm afraid your profit margins will be rather low if that's your plan.

I went back and found the thread about building and shooting down a 2-engine Cordership. But now I'm wondering if there might be a higher-tech option: build some kind of one-time splitter on the near side of the Cordership seed, leaving the trigger lane open. Then when it's time to shoot down the Cordership, trigger the splitter instead. Maybe there's a two- or three-glider synchronized salvo that can knock out a Cordership and leave just a single block -- or two or three leftover objects might be better, if they can all be used as build targets.

... Yeah, it probably won't be much if any cheaper than just sending a single glider and then cleaning up the moderate mess that's left over -- but it would be *much* more impressive.

User avatar
calcyman
Moderator
Posts: 2932
Joined: June 1st, 2009, 4:32 pm

Re: Slow-salvo recipes

Post by calcyman » September 23rd, 2018, 3:09 pm

dvgrn wrote:I went back and found the thread about building and shooting down a 2-engine Cordership. But now I'm wondering if there might be a higher-tech option: build some kind of one-time splitter on the near side of the Cordership seed, leaving the trigger lane open. Then when it's time to shoot down the Cordership, trigger the splitter instead. Maybe there's a two- or three-glider synchronized salvo that can knock out a Cordership and leave just a single block -- or two or three might be better, if they can all be used as build targets.

... Yeah, it probably won't be much if any cheaper than just sending a single glider and then cleaning up the moderate mess that's left over -- but it would be *much* more impressive.
Either way, is it any more efficient to construct a 2-engine Cordership than a 3-engine Cordership? I seem to recall both seeds involve the same number of still-lifes (namely 15). At the moment the 3-engine recipe is stored here:

https://gitlab.com/apgoucher/slmake/blo ... erpush.txt

and, if the distance warrants, is loaded and monkey-patched by replacing '195' with a much larger number.

Your splitter idea might be useful since you can build it whilst the Cordership is in flight, and therefore avoid wasting as much space in the single-channel recipe. So, if you have a really long distance, you can switch to corderpush2.txt and make use of the extra time to build a splitter.

Then, with suitable modifications, slmake will be able to choose between:
  • Existing 'normal push' for short distances;
  • Existing 3-engine Cordership solution for moderate distances;
  • Dave's proposed 2-engine Cordership plus splitter for long distances.
Anyone interested in compiling a suitable corderpush2.txt? Dave, perhaps?
What do you do with ill crystallographers? Take them to the mono-clinic!

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

Re: Slow-salvo recipes

Post by dvgrn » September 23rd, 2018, 4:34 pm

calcyman wrote:Either way, is it any more efficient to construct a 2-engine Cordership than a 3-engine Cordership? I seem to recall both seeds involve the same number of still-lifes (namely 15).
Definitely cheaper, if nothing else because the recipe is significantly narrower and contains no long boats or eaters which are a little more expensive. However, the current slsparse actually builds an 18-still-life 3EC seed (right) vs. 15 needed for the 2EC (left):

Code: Select all

x = 165, y = 68, rule = B3/S23
21bo$20bobo129b2o$20b2o126b2o2b2o$148b2o3$17bo$16bobo13b2o106b2o$17b2o
13b2o106b2o$151b2o$134bo16bobo$17bo115bobo11b2o3bobo$16bobo115b2o10bob
o4bo$17b2o128bo$160b2o$40b2o92bo25bobo$40b2o91bobo25bo$134b2o$45b2o$
45bobo$46bo$22b2o$22b2o2$7bo4bo$6bobo2bobo$7b2o3b2o2$b2o$obo149b2o$bo
150b2o3$19b2o16bo89bo11bo$19b2o15bobo87bobo9bobo$37b2o88b2o9b2o3$30bo
96bo4b2o$29bobo94bobo3bobo$7b2o21bo96b2o4bo$7b2o4$107bo4bo$106bobo2bob
o$107b2o3b2o5$17b2o81b2o$17bobo80bobo$18bo82bobo$102bo7$63b2o97b2o$63b
obo96bobo$63bo51b2o8b2o35bo$115bobo7b2o$117bo$117b2o!
calcyman wrote:Anyone interested in compiling a suitable corderpush2.txt? Dave, perhaps?
I'll get around to it eventually if no one else does, I suppose. Have been hoping that some clever person would sort out a 2-engine Cordership seed with fewer still lifes. There's sure to be one out there somewhere, considering how little time I spent patching together the 15sL one.

Here are some sample alternate seeds that leave more junk behind. This might not be a bad thing in general, if the idea is to build a multi-glider salvo to chase the Cordership with. (Really, though, it probably works just as well to leave out a few cleanup gliders in the seed recipe, so there's a little target junk left over.)

Code: Select all

x = 138, y = 51, rule = LifeHistory
21.A90.A$20.A.A88.A.A$20.2A89.2A4$17.A90.A$16.A.A13.2A73.A.A13.2A$17.
2A13.2A74.2A13.2A$44.2A$45.A$17.A24.3A63.A$16.A.A23.A64.A.A$17.2A89.
2A$32.3B88.3B$32.4B87.4B8.2A$33.4B87.4B7.2A$34.6B85.6B$35.5B86.5B$35.
8B83.8B$34.6B2A2B81.6B2A2B$22.2A9.4B.2BA3B69.2A9.4B.2BA3B$22.2A8.4B3.
2B3A69.2A8.4B3.2B3A$31.4B5.3BA78.4B5.3BA$7.A4.A17.4B64.A4.A17.4B$6.A.
A2.A.A15.4B64.A.A2.A.A15.4B$7.2A3.2A14.4B66.2A3.2A14.4B$27.4B87.4B$.
2A23.6B60.2A23.6B$A.A22.8BAB56.A.A22.8BAB$.A23.7BABA2B55.A23.7BABA2B$
25.8B2A2B79.8B2A2B$25.13B78.13B$19.2A4.12B73.2A4.12B$19.2A2.3BA10B73.
2A2.3BA10B$23.2BABA10B76.2BABA10B$23.3BA12B75.3BA12B$23.12B.4B74.12B.
4B$22.13B2.4B72.13B2.4B$11.4B6.13B4.4B60.4B6.13B4.4B$7.2A3.4B4.4B4.5B
6.4B55.2A3.4B4.4B4.5B6.4B$7.2A4.4B2.4B6.3B8.4B54.2A4.4B2.4B6.3B8.4B$
14.8B19.4B60.8B19.4B$15.6B21.2B2A60.6B21.2B2A$16.4B23.BABA60.4B23.BAB
A$16.5B23.AB61.5B23.AB$16.6B85.6B$18.B2A2B86.B2A2B$18.BABAB86.BABAB$
18.3BAB86.3BAB$19.2B2A87.2B2A!
There should be something that doesn't require a splitter plus two reflectors on each side to get to the switch engine seeds (pairs of boats). Just can't quite think how to make it work.

EDIT: I tried turning the seed inside out, so to speak, but so far haven't managed to improve either the bounding box or the (probable) cost:

Code: Select all

x = 135, y = 52, rule = B3/S23
30bo71b2o$29bobo71bo$30b2o71bobo$104b2o9$43bo79bo$41b3o77b3o$40bo79bo$
40b2o78b2o$30bo79bo$29bobo13b2o62bobo13b2o$30b2o13b2o63b2o13b2o$20bo
79bo$19bobo77bobo$20b2o8bo69b2o8bo$29bobo77bobo$30b2o78b2o$13bo79bo$
12bobo38b2o37bobo38b2o$13bo39b2o38bo39b2o2$80bo$80b3o$83bo$35b2o45b2o
31b2o$35b2o78b2o2$20bo4bo74bo4bo$bo17bobo2bobo72bobo2bobo$obo17b2o3b2o
73b2o3b2o$b2o3$38b2o78b2o$38bobo77bobo$31b2o5bo72b2o5bo$30bo2bo76bo2bo
$31b2o78b2o3$15b2o78b2o$14bobo77bobo$14bo79bo$13b2o5b2o71b2o5b2o$20b2o
78b2o!
A different splitter will probably improve things a bit, though. There's room to pull in the trombone slide another couple of cells in the southwest, and when you have a free choice of turners to use on the northwest side, it's pretty easy to get the color and timing to line up.

Maybe one of simsim314's 2sL splitters happens to have a fast 90-degree output and a slow 180-degree output, offset enough that it could be used here on one side or the other? Presumably that would save a turner. A {fast 90-degree, slow 0-degree} splitter could do the same for the original design -- or even a two-zero-degree splitter, if the outputs were far enough apart and the timing just happened to be right, but that might be more of a forlorn hope.

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

Re: Slow-salvo recipes

Post by dvgrn » October 3rd, 2018, 1:47 pm

I used to post small slow-salvo problems occasionally on this thread, and every now and then someone (usually simeks) would run some kind of magical one-off search and come up with an answer.

What I'm wishing for now has to do with the next Demonoid design. Eventually I'm guessing that it will work quite well to do a lot of constructions with slow *WSS salvos instead of gliders. This would save an entire Snarkmaker sub-recipe in Scorbie's Demonoid, for example, and would probably let the construction cycle complete in 2^20 ticks instead of 2^21.

However, the most recent single-channel *WSS recipes don't include a way to build one of the two HWSS phases. I'm thinking of cobbling together known pieces to make a one-time turner that produces an HWSS with the other phase, unless someone wants to contribute something better.

The recipe will be a lot bigger than the other five *WSS recipes, but at least it will give a provisional complete set to start doing searches with. The idea is to track the total cost in single-channel gliders, or maybe total length of single-channel recipe, in the slow-*WSS search program -- prune the search tree to find the least expensive ways to produce each target object.

... It might be entertaining to throw in OTT recipes for a few other c/2 spaceships, and just see if they ever turn up in a least-expensive recipe. Theoretically we could even include loafers, but that seems like a terrible idea in practice: for long-distance constructions you'd have to leave huge gaps after each loafermaker recipe. Probably even small c/2 spaceships would be 99.99% just a waste of search time; the cheapest *WSS recipes will end up getting used the most frequently by far.

User avatar
calcyman
Moderator
Posts: 2932
Joined: June 1st, 2009, 4:32 pm

Re: Slow-salvo recipes

Post by calcyman » November 13th, 2018, 6:41 pm

dvgrn wrote:
dvgrn wrote:Here are all those 0° recipes run through my optimizer script...
While I'm thinking of it, here's the current embarrassing draft of the optimizer script. It expects to find a simeks-style output file in the same folder where the script is saved, called "optimize-this.txt". That means it's pretty awkward to run this via Run Clipboard.

There are several test functions included, some of them not actually used such as converttosimeksrecipe(). That was just to make sure I could go back and forth between the "0"/"1" format recipes (where parities are relative to the first glider) and the old delta list format, where each delay number is simply how many ticks to wait after glider #N, before sending in glider #N+1.

The second output file, adjustable.txt, can end up being very large because it includes a copy of the recipe pattern in cell-list form. Easy to change that in the penultimate "outf2.write" line if needed.

As the comments say, this is a work in progress. No warranty express or implied, etc., etc.

Code: Select all

Python code
After an e-mail discussion with Dave, I decided to replace the Golly dependence with equivalent lifelib calls (which turned out to be relatively painless, since the only Golly-specific functionality was in a couple of functions at the top of the script). The rest of the algorithm remains the same (although I did increase the constants at the top to be compatible with simeks' new long recipes). It now runs about 13x faster on a single core of my machine:

Code: Select all

# simeks-new-library-optimizer-binary-v0.5-lifelib.py
# As it stands, everything that flies out of a 512-by-512 box is simply ignored,
#        because otherwise the optimization process would fail in many cases
#        (gliders in the recipe either before or after the output glider appears
#        can't be adjusted easily without changing the final hash).

import os
import inspect
import lifelib

LONG_ENOUGH = 81920
CIRCUIT_RECOVERY = 90
DEFAULT_DELAY = 768
CHECK_SPECIAL_CASES = False  #True

filename = inspect.getframeinfo(inspect.currentframe()).filename
scriptpath = os.path.dirname(os.path.abspath(filename))
fname = "optimize-this.txt"
outfname1 = "optimized.txt2"
outfname2 = "adjustable.txt2"

lt = lifelib.load_rules('b3s23').lifetree(memory=2000, n_layers=1)
one_glider = lt.pattern('3o$o$bo!')
elbow = lt.pattern('2o$2o!')

def makerecipe(recipe):

    return one_glider.stream(recipe)

def testrecipe(recipe):

    pat = makerecipe(recipe) + elbow(-5, -2)
    result = pat[LONG_ENOUGH]
    return result[-256:512, -256:512]

def convertfromsimeksrecipe(simeksrecipe):
  if simeksrecipe[-1]!=-1:
    print("Got a nonstandard simeks recipe -- no trailing -1 value: "+str(simeksrecipe))
    simeksrecipe+=[-1]
  rebuiltrecipe = [0]
  total = 0
  lastnumberwas1 = 0
  for i in simeksrecipe[1:-1]: # remove the trailing -1 from the list
    if i<2:
      rebuiltrecipe+=[i+DEFAULT_DELAY+(total%2)]
      lastnumberwas1 = 1 if i==1 else 0
    else:
      if lastnumberwas1:
        rebuiltrecipe+=[i-1]
      else:
        rebuiltrecipe+=[i]
    total += rebuiltrecipe[-1]
  return rebuiltrecipe

def converttosimeksrecipe(recipe):
  simeksrecipe = [0]
  total = 0
  for i in recipe[1:]:
    if i<=256:
      if simeksrecipe[-1]==1:
        simeksrecipe+=[i+1]
      else:
        simeksrecipe+=[i]    
    else:
      simeksrecipe+=[(total+i)%2]
    total+=i
  simeksrecipe+=[-1]
  return simeksrecipe

with open(os.path.join(scriptpath,fname),'r') as f: data=f.readlines()

with open(os.path.join(scriptpath,outfname1),'w') as outf1:
  outf1.write("Shortest versions of recipes:\n")
with open(os.path.join(scriptpath,outfname2),'w') as outf2:
  outf2.write("Recipes showing adjustment options:\n")


count=0
for item in data: 
  count+=1
  newrecipe="[0,"
  if item[:3]!="/* ": continue
  pieces=item.replace("/* ","").replace(",  -1},","").split(" */  {")
  elbows,movedist,gldir,lane=pieces[0].replace(" ","").split(",")
  simekslist=[int(i) for i in pieces[1].replace(" ","").split(",")]+[-1]
  offsetlist=convertfromsimeksrecipe(simekslist)
  offsetlist+=[DEFAULT_DELAY,16]  # add trailing glider, to find out what the closest
                                  # safe following distance is for the next recipe
  standardoutput=testrecipe(offsetlist)
  
  for index in range(1,len(offsetlist)-1): # skip the parity value at the beginning of the recipe
                                           # and also the "16" trailing cleanup glider added at the end
    min=offsetlist[index]
    origmin=min
    newmin=min+2
    newlist = offsetlist[:index]+[newmin]+offsetlist[index+1:]
    if standardoutput==testrecipe(newlist):
      # if it's slower by two ticks, the recipe still works!  That means this glider can be adjusted...
      newmin=origmin
      low_bdy=CIRCUIT_RECOVERY
      high_bdy=min
      halfway=int((high_bdy-low_bdy)/2)
      # binary search --
      #   may miss a non-contiguous lower stretch of valid timings, but probably won't
      while halfway>0:
        steps=int((halfway+1)/2)
        newmin = high_bdy - steps*2 # they're 2-tick steps -- it's a little confusing
        newlist = offsetlist[:index]+[newmin]+offsetlist[index+1:]
        if standardoutput==testrecipe(newlist):
          min=newmin
          high_bdy=newmin
        else:
          low_bdy+=2
          if low_bdy<newmin: low_bdy=newmin
        halfway=int((high_bdy-low_bdy)/2)
      note="+2N"
      print(str(count) + ":" + str(newlist))
      
      # Now see if this is a P2 or P1 adjustable glider
      newmin=min+1
      newlist = offsetlist[:index]+[newmin]+offsetlist[index+1:]
      if standardoutput==testrecipe(newlist):
        note="+N"

      # Now check the only remaining boundary case, if there is one
      newmin-=2
      if newmin>=CIRCUIT_RECOVERY:
        newlist = offsetlist[:index]+[newmin]+offsetlist[index+1:]
        if standardoutput==testrecipe(newlist): min=newmin

    else:
      note=""  # this glider is not adjustable

    note=str(min)+note
    # optional:  record any special cases where the range of allowable timings is not contiguous
    if CHECK_SPECIAL_CASES:
      newmin=min
      while newmin>CIRCUIT_RECOVERY:
        newmin-=1
        newlist = offsetlist[:index]+[newmin]+offsetlist[index+1:]
        print(str(count) + ":" + str(newlist) + " -- double-checking to recovery-time boundary...")
        if standardoutput==testrecipe(newlist) and newmin<min:
          note+="|"+str(newmin)
          min=newmin    

    newrecipe+=note+","
    offsetlist[index]=min

  with open(os.path.join(scriptpath,outfname1),'a') as outf1: outf1.write("Move"+movedist+"Lane"+str(lane)+":"+str(offsetlist[:-1]).replace("[","").replace("]","").replace(" ","")+"\n")
  with open(os.path.join(scriptpath,outfname2),'a') as outf2: outf2.write(item+"Move"+movedist+"Lane"+str(lane)+":"+newrecipe[:-1]+"]\n"+str(makerecipe(offsetlist))+"\n\n")

print("Optimization complete.")
Make sure you have lifelib v2.0.21 installed, because it has improved handling of glider streams that doesn't involve having to save temporary files.

I'm now running this overnight on 17000 recipes from simeks' collection, up to a distance of 107hd, with the hope of augmenting slsparse with the ability to perform direct 0-degree constructions of narrow metaclusters lying on the channel.
What do you do with ill crystallographers? Take them to the mono-clinic!

User avatar
calcyman
Moderator
Posts: 2932
Joined: June 1st, 2009, 4:32 pm

Re: Slow-salvo recipes

Post by calcyman » November 24th, 2018, 1:52 pm

I'm pleased to announce that slmake can now build 1 out of the 4 orientations of the LWSS-to-G converter:

Code: Select all

x = 104678, y = 104669, rule = B3/S23
2o$2o1744$1749b3o$1749bo$1750bo378$2125b3o$2125bo$2126bo1156$3297b2o$
3296b2o$3298bo620$3911b3o$3911bo$3912bo620$4522b2o$4521b2o$4523bo608$
5128b2o$5128bobo$5128bo1193$6329b2o$6328b2o$6330bo577$6916b3o$6916bo$
6917bo970$7897b3o$7897bo$7898bo1178$9078b2o$9078bobo$9078bo414$9488b2o
$9488bobo$9488bo1161$10661b2o$10661bobo$10661bo1257$11892b3o$11892bo$
11893bo568$12456bo$12455b2o$12455bobo569$13018b2o$13018bobo$13018bo
1039$14055b3o$14055bo$14056bo1362$15410b2o$15409b2o$15411bo1269$16704b
2o$16703b2o$16705bo1306$18003b3o$18003bo$18004bo663$18665b2o$18664b2o$
18666bo989$19663b3o$19663bo$19664bo1194$20861b2o$20861bobo$20861bo
1143$22008bo$22007b2o$22007bobo1126$23134b2o$23133b2o$23135bo910$
24046bo$24045b2o$24045bobo1034$25079bo$25078b2o$25078bobo1196$26287b3o
$26287bo$26288bo577$26875b3o$26875bo$26876bo1281$28152b2o$28152bobo$
28152bo622$28786b3o$28786bo$28787bo615$29396bo$29395b2o$29395bobo881$
30258b2o$30258bobo$30258bo620$30868b2o$30868bobo$30868bo660$31531b2o$
31530b2o$31532bo646$32182b3o$32182bo$32183bo581$32752bo$32751b2o$
32751bobo629$33381bo$33380b2o$33380bobo850$34238b3o$34238bo$34239bo
454$34711b3o$34711bo$34712bo1112$35831b2o$35831bobo$35831bo1126$36957b
3o$36957bo$36958bo954$37947b2o$37947bobo$37947bo1030$38990b2o$38990bob
o$38990bo1126$40107b3o$40107bo$40108bo948$41043b2o$41042b2o$41044bo
1344$42397bo$42396b2o$42396bobo548$42940bo$42939b2o$42939bobo1291$
44225bo$44224b2o$44224bobo980$45232b2o$45232bobo$45232bo488$45713b2o$
45713bobo$45713bo1143$46860bo$46859b2o$46859bobo877$47696b3o$47696bo$
47697bo1280$48985b3o$48985bo$48986bo1044$50040b3o$50040bo$50041bo608$
50648b2o$50648bobo$50648bo1259$51914b2o$51914bobo$51914bo647$52567bo$
52566b2o$52566bobo591$53156b3o$53156bo$53157bo1015$54165b2o$54164b2o$
54166bo412$54584bo$54583b2o$54583bobo1004$55594b2o$55594bobo$55594bo
1158$56747b3o$56747bo$56748bo615$57357bo$57356b2o$57356bobo1164$58530b
2o$58529b2o$58531bo1139$59674bo$59673b2o$59673bobo1284$60949bo$60948b
2o$60948bobo668$61620b2o$61619b2o$61621bo860$62485bo$62484b2o$62484bob
o394$62883b2o$62882b2o$62884bo887$63770bo$63769b2o$63769bobo915$64692b
o$64691b2o$64691bobo1147$65841b3o$65841bo$65842bo596$66451b2o$66450b2o
$66452bo1003$67449b2o$67448b2o$67450bo647$68086bo$68085b2o$68085bobo
1082$69190bo$69189b2o$69189bobo1040$70232b2o$70231b2o$70233bo583$
70818b2o$70817b2o$70819bo1038$71871b2o$71871bobo$71871bo583$72457b2o$
72457bobo$72457bo1349$73792b2o$73791b2o$73793bo439$74236b2o$74236bobo$
74236bo920$75162bo$75161b2o$75161bobo1120$76290b2o$76290bobo$76290bo
972$77277b2o$77277bobo$77277bo1298$78576b2o$78576bobo$78576bo629$
79206bo$79205b2o$79205bobo1155$80353b3o$80353bo$80354bo941$81283b2o$
81283bobo$81283bo896$82190b2o$82189b2o$82191bo524$82720bo$82719b2o$
82719bobo1353$84078bo$84077b2o$84077bobo595$84673b2o$84672b2o$84674bo
1052$85725bo$85724b2o$85724bobo1021$86750b2o$86750bobo$86750bo924$
87667b2o$87667bobo$87667bo1137$88809b2o$88809bobo$88809bo564$89369b3o$
89369bo$89370bo1287$90663b3o$90663bo$90664bo914$91589b2o$91588b2o$
91590bo933$92505b3o$92505bo$92506bo1253$93763b2o$93763bobo$93763bo898$
94662b2o$94661b2o$94663bo594$95263b3o$95263bo$95264bo1233$96512b2o$
96512bobo$96512bo528$97042b2o$97042bobo$97042bo484$97527b2o$97527bobo$
97527bo1071$98603b2o$98602b2o$98604bo1010$99616b2o$99616bobo$99616bo
1212$100827b2o$100827bobo$100827bo1280$102114b2o$102114bobo$102114bo
1099$103217b3o$103217bo$103218bo881$104090b2o$104089b2o$104091bo583$
104676b2o$104675b2o$104677bo!
What do you do with ill crystallographers? Take them to the mono-clinic!

Post Reply