Catagolue Discussion Thread
Re: Catagolue Discussion Thread
Did the appearance of contribution pie charts just change?
\sum_{n=1}^\infty H_n/n^2 = \zeta(3)
How much of current CA technology can I redevelop "on a desert island"?
How much of current CA technology can I redevelop "on a desert island"?
- LaundryPizza03
- Posts: 2625
- Joined: December 15th, 2017, 12:05 am
- Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"
Re: Catagolue Discussion Thread
Not for me, it didn't.pzq_alex wrote: September 9th, 2022, 10:11 am Did the appearance of contribution pie charts just change?
What are the maximum computational budget for the pattern identification tool? The first 80c/1290d, with minpop 34 and maxpop 3507, fails to repeat, but is recognized by the apgcode tool. The second 80c/1290d, with minpop 31 and maxpop 280, works fine.
Code: Select all
x = 69, y = 69, rule = B3-eknr4aejqtwz5a6k7e/S2aen3-anqy4aiknwyz5-cj6cek7e8
59b3o$59bobo$57b3o$57bo$57b2o3$67bo$65bo2$64bo3bo$67b2o46$2b3o$2bobo$
3o$o$2o3$10bo$8bo2$7bo3bo$10b2o!
Code: Select all
x = 9, y = 13, rule = B3ainq4cjqr5eiy6-ak/S2-ci3-ae4iq5-ciy6ein7e8
7bo$6b3o$5bo2bo2$4bob2o$5b3o$4bo2bo$o4b2o$2o4bo$3o4bo$7b2o$4bob2o$5b2o
!
Code: Select all
x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
Re: Catagolue Discussion Thread
Is there any way to find or generate a list of objects which have occurred naturally in C1 and/or G1 for which Catagolue does not have any syntheses?
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
Re: Catagolue Discussion Thread
A script with a web scraper will do it, but just be aware that it will use server resources.muzik wrote: November 8th, 2022, 8:12 am Is there any way to find or generate a list of objects which have occurred naturally in C1 and/or G1 for which Catagolue does not have any syntheses?
User:HotdogPi/My discoveries
Periods discovered:
All evens ≤128 except 52,58,78,82,92,94,98,104,118,122
5-15,㉕-㉛,㉟㊺,51,63,65,73,75
1㊳㊵㊹㊼㊽,54,56,72,74,80,90,92
217,240,300,486,576
Guns: 20,21,32,54,55,57,114,117,124,126
SKOPs: 32,74,76,102,196
Periods discovered:
All evens ≤128 except 52,58,78,82,92,94,98,104,118,122
5-15,㉕-㉛,㉟㊺,51,63,65,73,75
1㊳㊵㊹㊼㊽,54,56,72,74,80,90,92
217,240,300,486,576
Guns: 20,21,32,54,55,57,114,117,124,126
SKOPs: 32,74,76,102,196
Re: Catagolue Discussion Thread
If someone decides to make this I'd highly recommend just downloading the C1 textcensus and Shinjuku and write some code to interpret and compare the data. It'd be much faster and less resource intensive than a web scraper.hotdogPi wrote: November 8th, 2022, 8:21 am A script with a web scraper will do it, but just be aware that it will use server resources.
Re: Catagolue Discussion Thread
Related:
Am I correct is assuming that there's no API to Catagolue hidden away? I would like to get the Glider Constructions for a large batch of objects, and right now it looks like I need to call up each one's page using the HTTP call: "http://catagolue.appspot.com/object/<apg>/b3s23" and then parse the RLE out of the response HTML. Just one -time requests as I'm updating my constructions database and making sure it's all up-to-date.
Am I correct is assuming that there's no API to Catagolue hidden away? I would like to get the Glider Constructions for a large batch of objects, and right now it looks like I need to call up each one's page using the HTTP call: "http://catagolue.appspot.com/object/<apg>/b3s23" and then parse the RLE out of the response HTML. Just one -time requests as I'm updating my constructions database and making sure it's all up-to-date.
-
carsoncheng
- Posts: 509
- Joined: June 11th, 2022, 11:24 pm
Re: Catagolue Discussion Thread
Yes, you need to request through an URL, but you don't need to get to the object page. Instead, you can obtain the syntheses URLs in the following format:hkoenig wrote: November 8th, 2022, 8:16 pm Related:
Am I correct is assuming that there's no API to Catagolue hidden away? I would like to get the Glider Constructions for a large batch of objects, and right now it looks like I need to call up each one's page using the HTTP call: "http://catagolue.appspot.com/object/<apg>/b3s23" and then parse the RLE out of the response HTML. Just one -time requests as I'm updating my constructions database and making sure it's all up-to-date.
https://catagolue.hatsya.com/textsample ... /synthesis
It does not contain HTML (it's just plaintext), so you can directly obtain the synthesis RLE from that page.
Re: Catagolue Discussion Thread
Doesn't seem to work:
https://catagolue.hatsya.com/xs12_312312ko/synthesis
https://catagolue.hatsya.com/object/xs1 ... /synthesis
not found. What exactly is "textsample ... " represent? An actual working URL would be helpful as a starting point.
https://catagolue.hatsya.com/xs12_312312ko/synthesis
https://catagolue.hatsya.com/object/xs1 ... /synthesis
not found. What exactly is "textsample ... " represent? An actual working URL would be helpful as a starting point.
Re: Catagolue Discussion Thread
It's cut off by phpBB, it works as a template if you go to the link, yielding:hkoenig wrote: November 14th, 2022, 2:32 am What exactly is "textsample ... " represent? An actual working URL would be helpful as a starting point.
Code: Select all
https://catagolue.hatsya.com/textsamples/apgcode/b3s23/synthesisRe: Catagolue Discussion Thread
All of the syntheses are in https://gitlab.com/parclytaxel/Shinjuku so you can clone that repository instead. It actually gives you more information, because multiple alternative syntheses can exist in Shinjuku, whereas Catagolue only displays the lowest-cost synthesis for an object.hkoenig wrote: November 8th, 2022, 8:16 pm Related:
Am I correct is assuming that there's no API to Catagolue hidden away? I would like to get the Glider Constructions for a large batch of objects, and right now it looks like I need to call up each one's page using the HTTP call: "http://catagolue.appspot.com/object/<apg>/b3s23" and then parse the RLE out of the response HTML. Just one -time requests as I'm updating my constructions database and making sure it's all up-to-date.
What do you do with ill crystallographers? Take them to the mono-clinic!
- confocaloid
- Posts: 6697
- Joined: February 8th, 2022, 3:15 pm
- Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms
Re: Catagolue Discussion Thread
Recent logs contain lines:
If I understand correctly, there will be around 14 or 16 further similar updates, and recent/current submissions may be fully processed later than usual.
Based on forum posts, I edited Tutorials/Glider syntheses#Submitting_syntheses_to_Catagolue to add a note about the number of steps in incremental syntheses shown on Catagolue -- did I get that right?
Code: Select all
#C https://gitlab.com/hatsya/open-source/catagolue/-/jobs/3959496134
3787650 total objects found
1294679 can be updated
Updating 80000 apgcodes: ...
Code: Select all
#C https://gitlab.com/hatsya/open-source/catagolue/-/jobs/3959950865
3787650 total objects found
1214680 can be updated
Updating 80000 apgcodes: ...
Code: Select all
#C https://gitlab.com/hatsya/open-source/catagolue/-/jobs/3960281392
3787650 total objects found
1140340 can be updated
Updating 80000 apgcodes: ...
Based on forum posts, I edited Tutorials/Glider syntheses#Submitting_syntheses_to_Catagolue to add a note about the number of steps in incremental syntheses shown on Catagolue -- did I get that right?
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Re: Catagolue Discussion Thread
I think what you wrote is correct, according to this post from calcyman today. I haven't definitely seen that functionality in action yet. It would be easy to test it, for example by posting a two-stage version of this still lifeconfocaloid wrote: March 18th, 2023, 1:39 pm Based on forum posts, I edited Tutorials/Glider syntheses#Submitting_syntheses_to_Catagolue to add a note about the number of steps in incremental syntheses shown on Catagolue -- did I get that right?
Code: Select all
x = 150, y = 221, rule = B3/S23
43bo$44b2o$43b2o14$59bo$60b2o$59b2o$51bo18b2o$49bobo19bo$50b2o5b2o11bo
$58b2o10b2o$57bo14bo$72bo$71b2ob2o$72bobo$72bobo2b2o$71b2obobo2bo$74bo
bob2o$71b2obobobo$72bobobobo2b2o$72bobobobobo2bo$71b2obobobobob2o$72bo
bobobobobo$72bobobobobobo2b2o$71b2obobobobobobo2bo4b2o$72bobobobobobob
ob2o3bobo$72bobobobobobobobo5bo$71b2obobobobobobobo2b3o9b2o$72bobobobo
bobobobobo11bobo$72bobobobobobobobobob2o3bo4bo$71b2obobobobobobobobobo
bobobo2b2o$72bobobobobobobobobobobob2obo$72bobobobobobobobobobobo4bob
2o$71b2obobobobobobobobobobo4b2obo$72bobobobobobobobobobob2o$44b3o25bo
bobobobobobobobobobo4b2obo$46bo24b2obobobobobobobobobobo4bob2o$45bo26b
obobobobobobobobobobob2obo$72bobobobobobobobobobobobobo2b2o$69b2obobob
obobobobobobob2o3bo4bo$69bo2bobobobobobobobobo11bobo$70b2o2bobobobobob
obo2b3o9b2o$74bobobobobobobo5bo$73b2obobobobobob2o3bobo$73bo2bobobobob
o2bo4b2o$74b2o2bobobo2b2o$78bobobo$77b2obob2o$80bobo$80bobo$79b2ob2o
18$82bo5$82bo5$82bo5$82bo5$82bo5$82bo5$82bo5$82bo5$82bo5$57bo24bo24bo
5$62bo19bo19bo5$67bo14bo14bo5$72bo9bo9bo5$77bo4bo4bo5$82bo7$o$b2o$2o
14$16bo$17b2o$16b2o$8bo18b2o$6bobo19bo81bo6b2o$7b2o5b2o11bo83bo6bo$15b
2o10b2o80b3o5bo$14bo14bo87b2o$29bo89bo$28b2ob2o81b2o3bo$29bobo82b2o2b
2ob2o$29bobo2b2o85bo$28b2obobo2bo81b2obo2b2o$31bobob2o81bo2bobo2bo$28b
2obobobo83bobobob2o$29bobobobo2b2o78b2obobobo$29bobobobobo2bo78bobobob
o2b2o$28b2obobobobob2o78bobobobobo2bo$29bobobobobobo78b2obobobobob2o$
29bobobobobobo2b2o75bobobobobobo$28b2obobobobobobo2bo4b2o68bobobobobob
o2b2o$29bobobobobobobob2o3bobo67b2obobobobobobo2bo4b2o$29bobobobobobob
obo5bo69bobobobobobobob2o3bobo$28b2obobobobobobobo2b3o9b2o59bobobobobo
bobobo5bo$29bobobobobobobobobo11bobo58b2obobobobobobobo2b3o9b2o$29bobo
bobobobobobobob2o3bo4bo61bobobobobobobobobo11bobo$28b2obobobobobobobob
obobobobo2b2o61bobobobobobobobobob2o3bo4bo$29bobobobobobobobobobobob2o
bo63b2obobobobobobobobobobobobo2b2o$29bobobobobobobobobobobo4bob2o61bo
bobobobobobobobobobob2obo$28b2obobobobobobobobobobo4b2obo61bobobobobob
obobobobobo4bob2o$29bobobobobobobobobobob2o67b2obobobobobobobobobobo4b
2obo$b3o25bobobobobobobobobobobo4b2obo61bobobobobobobobobobob2o$3bo24b
2obobobobobobobobobobo4bob2o61bobobobobobobobobobobo4b2obo$2bo26bobobo
bobobobobobobobob2obo63b2obobobobobobobobobobo4bob2o$29bobobobobobobob
obobobobobo2b2o61bobobobobobobobobobobob2obo$26b2obobobobobobobobobob
2o3bo4bo61bobobobobobobobobobobobobo2b2o$26bo2bobobobobobobobobo11bobo
56b2obobobobobobobobobob2o3bo4bo$27b2o2bobobobobobobo2b3o9b2o56bo2bobo
bobobobobobobo11bobo$31bobobobobobobo5bo67b2o2bobobobobobobo2b3o9b2o$
30b2obobobobobob2o3bobo70bobobobobobobo5bo$30bo2bobobobobo2bo4b2o69b2o
bobobobobob2o3bobo$31b2o2bobobo2b2o76bo2bobobobobo2bo4b2o$35bobobo81b
2o2bobobo2b2o$34b2obob2o84bobobo$37bobo84b2obob2o$37bobo87bobo$36b2ob
2o86bobo$126b2ob2o!It sounds like now isn't really a good time to do any testing, though -- we can afford to wait until the readsynth queue is less overloaded.
Re: Catagolue Discussion Thread
Is there any way to change one synthesis to another of the same cost, and/or to make a continuous synthesis incremental, on your end? There's a handful of syntheses which are rather ridiculous and could be simplified for clarity. For example, this hivenudger backend pseudo-spaceship has an absurdly spacious continuous synthesis:
It'd be much better if it could be made into a two-step synthesis, one for creating the initial LWSS and a second step as follows for adding the second one.
Code: Select all
x = 162, y = 95, rule = B3/S23
59bo85bo$57bobo83b2o$58b2o84b2o46$18bo$19bo2bobo$17b3o2b2o$23bo4$20b3o
$20bo$21bo30$142b2o$142bobo$142bo!Code: Select all
x = 20, y = 17, rule = B3/S23
9bo9bo$7bobo7b2o$8b2o8b2o9$16b2o$16bobo$b4o11bo$o3bo$4bo$o2bo!Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
Re: Catagolue Discussion Thread
It appears that all of the syntheses which include a Spaceship are spread out like that.
Re: Catagolue Discussion Thread
Yeah, the way that *WSSes are automatically replaced in Catagolue is not my favorite feature -- the gliders making the *WSS are just dropped in at some over-conservative safe distance, rather than the system hunting for something more compact, like the last possible time for the *WSS synthesis that still works.hkoenig wrote: June 8th, 2023, 11:16 am It appears that all of the syntheses which include a Spaceship are spread out like that.
Ordinarily Catagolue will prefer a two-stage synthesis over a single-stage synthesis, but that doesn't apply when the intermediate object is a spaceship.
If I remember right, it's possible to submit a recipe to Catagolue that includes *WSSes, but Catagolue will automagically do one of these ugly oversized replacements. This is basically why I've developed the habit of always doiong the *WSS to gliders conversion myself before submitting to Catagolue.
I don't know of an easy way to replace a synthesis already uploaded to Catagolue, with another "better" synthesis of the same cost. I'd love to have a button or something in the online GUI that could mark a single synthesis for deletion, in preparation for re-upload... maybe it could be a peer-reviewed or moderator-reviewed system, and/or could only allow a dozen or so so that nobody can maliciously delete piles of good syntheses.
Re: Catagolue Discussion Thread
I should also point out that the final step for the synthesis of the following p27462 was also rejected because of some "invalid component" error (see line 1120 in the most recent job as of posting):
Every other step up to this point was accepted.
Code: Select all
x = 0, y = 0, rule = B3/S23
10$43b2o16b2o$43b2o7b2o7b2o$52b2o5$27b2o48b2o$27b2o48b2o3$45bo14bo$45b
3o10b3o2$46b3o8b3o5$35b2o32b2o$35b2o32b2o4$35b2o32b2o$35b2o32b2o5$46b
3o8b3o2$45b3o10b3o$45bo14bo3$27b2o48b2o$27b2o48b2o5$52b2o$43b2o7b2o7b
2o$43b2o16b2o2$13bobo$14b2o$14bo$27bo$22bo3bobo$21bobo3bo$21bo2bo9b2o$
22b2o9bo2bo$34b2o2$37b3o$31b3o3bo$16bo21bo$17bo3b3o$15b3o2$19b2o$18bo
2bo9b2o$19b2o9bo2bo$27bo3bobo$26bobo3bo$27bo$40bo$39b2o$39bobo!Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
Re: Catagolue Discussion Thread
On a related topic, Catagolue seems extremely reluctant to accept, at the very least, the following synthesis step:
Code: Select all
x = 178, y = 161, rule = B3/S23
4$10bo$11b2o$10b2o8$154bo$152b2o$153b2o74$119bo$118bobo$119bo3$121b3o
43$70bo2bo$69bo81b2o$67b2o81b2o$64bo6b2obo77bo$67bo3bo2bo$67b3obo3bo$
64bo11bo$65bo3bob3o$66bo2bo3bo$66bob2o6bo$72b2o$71bo$67bo2bo!Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
Re: Catagolue Discussion Thread
Would it be possible to have Catagolue selectively prefer incremental syntheses over continuous syntheses if given both, provided the costs are the same?
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
- confocaloid
- Posts: 6697
- Joined: February 8th, 2022, 3:15 pm
- Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms
Re: Catagolue Discussion Thread
If I understand correctly, that already happens:muzik wrote: July 30th, 2024, 4:49 am Would it be possible to have Catagolue selectively prefer incremental syntheses over continuous syntheses if given both, provided the costs are the same?
calcyman wrote: March 17th, 2023, 9:29 pm [...]Catagolue uses Shinjuku's prefer_long option. So whenever the synthesis is regenerated (which happens whenever there's a material improvement), it will choose the one with the maximum number of stages.dvgrn wrote: March 17th, 2023, 7:09 pm I'd like to end up with a recipe on Catagolue with the maximum number of stages, and if people submit combined stages, it's hard to get them out of Shinjuku again (as far as I can tell). If it happens, no big deal, of course, but it seems worth making the request.
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Re: Catagolue Discussion Thread
How exactly do you get soups from Catagolue hexagonal rules with the correct symmetry? It just gives C1 for whatever reason (C6 expected in this case).
Code: Select all
x = 16, y = 16, rule = B2o456/S34-o56H
boobbboobbbbbbob$
obbooobbbbobbbob$
bobobobbooobbboo$
obbooooboboobbbb$
booobobobbboobbb$
booobboboooboboo$
bboooobbbobobbbb$
boobbooobbbbbobo$
ooboobooobbobbob$
obobbboobbboboob$
ooooobbbboobbbob$
ooobbobobooobbob$
bboobbooobboobbo$
boooooobboobooob$
bboobboobbbbooob$
boobboobooooobob!Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
Re: Execution of Old Guns by Variable-Speed Firing Squad
For me it looks not mysterious, but offensive.dvgrn wrote: December 2nd, 2024, 9:17 am...
Heh, I feel like that's slightly too mysterious of a directive, when it looks like it's perfectly possible to move the blocker several cells NWward and save a row or two.
...
1. If Catagolue won't accept such optimization, then no need to mention such restriction, because people will just see result once they submit optimized version.
2. If it will accept, but someone think it is wrong, then correct way is to force fixing of #30 somehow. But that's a social problem, not technical, so I can't say much about how to do this.
- confocaloid
- Posts: 6697
- Joined: February 8th, 2022, 3:15 pm
- Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms
Re: Execution of Old Guns by Variable-Speed Firing Squad
Regardless of the existing Catagolue bugs, it is interesting and useful to know the traditional guidelines for measuring and formatting glider guns. This also includes the possibility of adding sparks or objects to indicate the correct bounding box of the gun, and people were adding such objects even before Catagolue existed.Vort wrote: December 2nd, 2024, 10:59 am [...] If Catagolue won't accept such optimization, then no need to mention such restriction, [...]
https://entropymine.com/jason/life/dpguns/readme.txt
viewtopic.php?p=196491#p196491
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Re: Execution of Old Guns by Variable-Speed Firing Squad
I didn't knew it was tradition, thanks for explanation.confocaloid wrote: December 2nd, 2024, 11:11 am ... it is interesting and useful to know the traditional guidelines for measuring and formatting glider guns. This also includes the possibility of adding sparks or objects to indicate the correct bounding box of the gun, and people were adding such objects even before Catagolue existed. ...
But anyway, I think extra junk does more harm than good.
First of all, it is not the part of the gun, so it is natural to want to optimize it away.
Second, it is easy to forget to remove this junk while combining gun with other components. But it is not easy to get rid of it once it is uploaded (another problem, which no one was interested to solve when I mentioned it).
upd: State 2 cells of LifeHistory allow to mark bounding box and at the same time they disappear during conversion to Life rule.
- confocaloid
- Posts: 6697
- Joined: February 8th, 2022, 3:15 pm
- Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms
Re: Execution of Old Guns by Variable-Speed Firing Squad
Only if you know how to convert correctly from LifeHistory to plain two-state B3/S23. Otherwise, simply pasting a LifeHistory pattern into a two-state layer will cause unintended effect, and changing the algorithm to QuickLife/HashLife via the menu item will also cause unintended effect.Vort wrote: December 2nd, 2024, 12:04 pm upd: State 2 cells of LifeHistory allow to mark bounding box and at the same time they disappear during conversion to Life rule.
I think it is best to keep the formats simple. Multistate extensions are sometimes nice for those people who are familiar with them, but otherwise, so far the plain two-state RLE is the best pattern exchange format I know about. It is a reasonably simple format, and it allows to share the patterns.
The idea of putting sparks or objects to indicate the bounding box or otherwise add some kind of metadata is also simple and it works. (For another example, check the old oscillator stamp collection, in which oscillator periods are denoted using digit-shaped still lives.)
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Re: Execution of Old Guns by Variable-Speed Firing Squad
Teaching people how to press Alt-J in Golly should not be that hard, right?
For me it looks easier than explaining why junk in the corner may be important.
If other software can't provide similar experience, it should be easy to implement such conversion.
Also components in LifeHistory format are easier to recognize:
Reaction history gives them well distinguishable and memorable shapes.
For example, it is easy to guess that glider goes in and out on the left, but not so much on the right.
For me it looks easier than explaining why junk in the corner may be important.
If other software can't provide similar experience, it should be easy to implement such conversion.
Also components in LifeHistory format are easier to recognize:
Reaction history gives them well distinguishable and memorable shapes.
For example, it is easy to guess that glider goes in and out on the left, but not so much on the right.
Code: Select all
x = 89, y = 38, rule = LifeHistory
4B$.4B$2.4B$3.4B$4.4B$5.4B25.A49.A$6.4B23.A.A47.A.A$7.4B22.A.A47.A.A$
8.4B20.2A.3A44.2A.3A$9.4B7.2A11.B4.A31.2A16.A$10.4B5.B2AB4.2B2.B2AB3A
32.2A10.2A.3A$11.4B3.7B.6B2A.A46.2A.A$12.22B$13.19B$14.19B$15.18B$14.
19B$13.20B.2B$13.22B2A48.2A$13.13BA6B.B2A39.A8.2A$11.14BABA5B2.B39.A.
A$11.14BA2BA5B41.A2.A$10.16B2A5B43.2A$9.2AB2.19B26.2A$8.A.AB2.20B24.A
.A$8.A4.3B.16B2A23.A24.2A$7.2A3.21B2A22.2A24.2A$12.10B2.7B.2B$12.10B
2.6B$14.8B3.4B$14.4B.2B3.2B$15.3B5.B2AB47.2A$15.4B5.2A48.2A$16.4B$17.
4B$18.4B$19.4B$20.4B!