(15,11)c/107 caterpillar thread
Posted: December 17th, 2025, 4:52 pm
Figured it probably made sense to make a separate thread for this rather than using the main crawlers thread.
Here's (finally) a working NE 1x rake:
Here's the version of the script I used to generate it:
It requires some manual timing adjustments to actually pass the gliders through the spine. Passing gliders through the spine may be easier if we increase the separation of the two glider streams, but that comes with the tradeoff of being unable to pack the crawler pairs as densely so I'd prefer to avoid that unless it ends up being necessary.
The overall vague plan I'm thinking of for the ship currently looks something like
The current collection of rakes we have probably isn't sufficient yet, but this seems more achievable than anything else I've thought of.
Here's (finally) a working NE 1x rake:
Code: Select all
x = 6484, y = 2495, rule = B3/S23
2425b3o$2427bo$2426bo13$2414bo$2414b2o$2413bobo14$2402b2o$2401bobo$
2403bo14$2390b2o$2391b2o$2390bo14$2378b3o$2380bo$2379bo13$2367bo$2367b
2o$2366bobo14$2355b2o$2354bobo$2356bo14$2343b2o$2344b2o$2343bo14$2331b
3o$2333bo$2332bo13$2320bo$2320b2o$2319bobo14$2308b2o$2307bobo$2309bo
14$2296b2o$2297b2o$2296bo14$2284b3o$2286bo$2285bo13$2273bo$2273b2o$
2272bobo14$2261b2o$2260bobo$2262bo14$2249b2o$2250b2o$2249bo14$2237b3o$
2239bo$2238bo13$2226bo$2226b2o$2225bobo14$2214b2o$2213bobo$2215bo6$10b
o$9b2o$9bobo6$2202b2o$2203b2o$2202bo6$51b2o$51bobo$51bo6$2190b3o$9bo
2182bo$8b2o2181bo$8bobo2$112b2o2$114b3o$93b2o13bo5b3o$92b2o13bobo$94bo
15bo$110bo30bo$107bobo3b2o25b2o$106bo6b2o25bobo$106b5o3bo$107b4o2068bo
$102bo6bo5bo2063b2o$50b2o48b3o6b4o2bo2062bobo$50bobo47bo7bo2bobo$50bo
49b3o$111bo2bo$112bo86b3o$112bo$103b2o$102bobo94bo3b3o$102bo2bo14bo79b
o3bob2o$103b2o16bo74b3o2b2obo$119b3o60b2o12bobo3bo4bo$182bobo11bo2bo4b
3o$182bo14bobo4bo$96b2o99b3o$96b2o91bo39b3o1935b2o$189bo39bo58bo1877bo
bo$92b2o106bo29bo56b2o1879bo$91b2o98b2o2b4o2bo84bo2bo$93bo55b3o39bo2b
2ob2o2bo85b2o$149bo41bo8bo87bo$149b2o41b2obo$194b2o86b3o3b3o$151bo44bo
85b3o3bobo$145bo5bo38bo4bobo6bo84b2o$81b2o61b3o3bobo36bobo4bo8b2o75b3o
3bobo$81b2o68bo37bo2bo11b2o76bo2b2o2bobo$144b3o5bo37b2o91bo5bob3o$145b
obob2obo131b3obo2bo$146b2o6b2o132b2o$146b2ob2o3bo117bo15bobob2o$151bo
2b2o27b2o86b4o6bo8bo1864b2o$152bob2o27b2o85bo2b2o4b2o7bobo1865b2o$133b
3o13b2obo121b2ob2o5bo1870bo$132bo2b2o5b3o7bo122b2o3bo3b2o33b2o$132bo4b
o2b2ob4o4bo123b2ob2ob4obo31b2o$66b2o70bob2o2bobo34b2o87b2o3b2o5bo2b2o
33bo52bo$66b2o64bo5bobo3b2o2bo32bobo98b4o87b2o$132bo5bo4bo3b2o32bo101b
o88bobo$133bo4bo2bo94b3o32bob2o7bobo5bo82b2o$137b3o4b3o87b2o35b3o5bo8b
obo82b2o$133bo2bob2obo8bobo81b2o36bo3bo2bo2b3o4b2o80b2obo$133b3o3b2o4b
o5b2o15b2o69bo36bo95bo$139b2o4bo5bo16b2o64bo4bo36bo2bo91bo3bo$139b2o4b
o87bo3b2o38bobo94b3o$139b3o92bo3bo135b3o$139b2o94b4o$51b2o183bo2bo120b
o1782b3o$51b2o184b3o30b2o88b3o1782bo$270b2o91b2o6b2o1771bo$223bob2o
133b2ob2o6bo2bo$223bob2o130bo3bo3bo6bob2o$227bo6bo121bobo3b2obo6bo3b2o
$153b2o68b2o2b3o3bo2bo120bo4b2o2b2o5bo3bo30b2o$153b2o65b3o5bo5bo4b2o
127b2o3b4o31bobo$219bobob2o2b2o2bo2b2o3b3o29bo87b3o3b2ob2o5bo32bo51b2o
$220bo2bobo3bo2bo2b2o3b2o28b2o93b2ob2o90b2o$223bo5bo3b4obobo29bobo90bo
3bo91bo2bo$36b2o184b3o5bo2bo2b4o82b3o38bo94b3obo$36b2o190b2o3bo4bo16b
2o64bo3bo37bo93b2o3bo$226bo2bo2bo22b2o68bo134b2o$226b3ob2o88bob2o134bo
bo$217bo8bo92bo3bo135bo1672bo$215bobo102b2o3b2o23bo2b2o106bo1670b2o$
138b2o76b2o102b2o2bo23bo7b2o101b4o1668bobo$138b2o181b2o24bo9bo88b3o9bo
$457bo$219b2o89bo40bo4bo101b2o3bo$219b2o89bo36bo96bo16b2o$21b2o287bo
10b2o25b2o4b2o87bobo4b3o8b2o$21b2o217b2o79b2o2bo27b4o87bo8bo$216bo23b
2o65bo5b3o7bo2bo24b2o2bobo90bo4bo6b3o$216b2o88bobo4bo11b2o29bo90b2o4bo
6bo37bo$217bo89bo6bo2bo6bo123bo11bo2bo33b2o$216bo98bobo131b3o8bobo34bo
bo$123b2o184b3o4b2o23b2o16b3o88bo96bo$123b2o216b2o16bo186b2o$300bobo
10bo46bo184b2o2bo$163bo137b2o10bo94b3o137b3o1569b2o$164bo136bo11bo93bo
140b3o1568bobo$6b2o154b3o241bo3b2o135bo1573bo$6b2o217b2o184b2o121bo11b
o3bo$225b2o181bo26b2o2b3o92bo11bo3bo$409b4o22bo3bobobo90bo9bob2o$299bo
3b2o90b3o7bo3b3o24b2o2b2obo102b3o$298bobobob2o99bo3bo121bo7bo6bo$108b
2o188bo5bo21b2o79bo122bobo6b4o3b3o$108b2o189bo3bo22b2o65bo15b2o32bo87b
o6b5o$300b3o89bobo5b3o4bo34bobo97bo4b3o$384bo8bo9b3o2bo2bo31bo94bo8bo$
306bo78bo13bo11bo127b3o5bo$305bobo75b3o22bobo128b3o$210b2o94bo93b2ob2o
3bo19b2o156b3o$210b2o35bo154bo25b2o156bo$248b2o199b2o136bo49b3o1468b2o
$247b2o199b2o189bo1469b2o$450bo185bob2o1468bo$93b2o402bo138bo2bo$93b2o
401b2o25bo112b3o$495b2o25bobo112bo$385bo97bo10bo28b2o3b2o$384bobo96bo
10b3o31b2ob2o$385b2o4bobo89bo5bo6bo30bo2b3o106b2o$195b2o193b2obo19b2o
73b2o4bo32bob3o92b3o10bobo$195b2o192bo4bo18b2o53bo11bo6bob2obobo33b3o
105b2obo$389bo3bo75b2o8bobo4b3o3bo36bo106bo2bo$390b3o75b2o10bo6b2ob2o
3b3o124bo14bo2bo$487b2ob3o2b3o123bobo5b2o9bo$78b2o253bo152bo3b2o130bo
5bo2bo$78b2o251bobo155bo25b2o110bo3bo6bobo$332b2o152bo28b2o109b2o2bo7b
o2bo1454b3o$627b3o9b2o35b2o1420bo$628bo10bo35b2o1420bo$538b2o137bo$
180b2o216b2o138bobo$180b2o216b2o67bo70bo$174bo291bo$175b2o295bo112b3o$
174b2o295bobo2b3o90b3o13bo$63b2o403b2o2b2o4bo75bo20b2obo7bo27bo4bobo$
63b2o435b2o50bobo20b5ob2o31bo4bo2bo$414bobo59b2o22b2o51b2o12bo7bo2bob
2o32b8o$415b2o56bo2bo89bobo6bob3o37bo$415bo57b3o11b2o78bo5b3o3bob2o34b
o$474b2o2b2o6bo85b4obobobo$165b2o216b2o93b2o91bo3bob2obo40bo1463bo$
165b2o216b2o94b2obo88bob2obo43bobo1462b2o$480bo2bo88bo48bo95b3o1364bob
o$483bo233bo$481b2o79b2o154bo$48b2o512b3o41b2o$48b2o210bo224b2o70b3o3b
2o41b2o$258bobo224b2o69bob2obo3bo62bo$259b2o295bo3b3o2bo61b2o$556bo70b
obo$500bo56bo2bo2bo$150b2o216b2o131bo56bo5b2o109b2o$150b2o216b2o129b3o
62bob2o4bobo85bo13b2o$568bo2bo2bo85bo15bo$565bo3bobo2bo85bo10bo$566bo
3bob2o90bo6b2o$33b2o526bo4bo4bo19b2o64bo5bo2bo2b2o2bo1399b2o$33b2o435b
2o88bobo8bo19b2o52bobo8bobo5bo2bo4b3o85bo1311bobo$470b2o87bo2bo5b3o75b
2o9bo7bob2o3b2o85b2o1313bo$560bobo83bo14b8ob3o86bobo$660b2o7b3o$343bob
o315bo5b3o$135b2o207b2o7b2o307b2o3bo$135b2o207bo8b2o2$584bo62bo2bo$
585b2o63bo$18b2o556b2o6b2o59bo4bo2b2o61b3o$18b2o435b2o119b2o66b2o4bob
3o61bo$187bo267b2o188bobob2ob3o62bo$185bobo458b2obo2bobo$186b2o465b2o
2bo4b2o$654bobobo5b2o1395b2o$120b2o216b2o87bo229bo143b2o1259b2o$120b2o
216b2o88bo236bo135bobo1257bo$426b3o230b2o2b2o136bo$650b3o5b2o2bo$649bo
3bo5bo$3b2o556b2o95bo$3b2o435b2o119b2o86b2ob2o4b3o$440b2o209bo2$759bo$
758b2o$105b2o163bobo50b2o433bobo$105b2o164b2o50b2o$271bo404bo$674bobo$
511bo163b2o1372b3o$512b2o32b2o295b2o1206bo$425b2o84b2o33b2o294b2o1206b
o$425b2o417bo4$90b2o216b2o$90b2o216b2o2$356bo443b2o$357bo263bo178bobo$
355b3o173b2o87bo179bo$410b2o119b2o87b3o$410b2o$597bo1440bo$595bobo
1440b2o$596b2o286b3o1150bobo$75b2o216b2o589bo$75b2o120bobo93b2o590bo$
198b2o$198bo2$438bo77b2o$395b2o42b2o75b2o$395b2o41b2o$842b2o$841b2o$
843bo$60b2o$60b2o$2026b2o$927bo1097bobo$926b2o1099bo$501b2o423bobo$
380b2o119b2o$380b2o304bobo$687b2o$524bo162bo$522bobo$45b2o476b2o$45b2o
$883b3o$883bo$884bo$486b2o$486b2o$2014b2o$968b2o1045b2o$968bobo1043bo$
968bo$30b2o$30b2o4$210bo260b2o$211bo259b2o453bo$209b3o713b2o$925bobo2$
451bo$15b2o432bobo$15b2o433b2o1550b3o$1010b2o992bo$1009b2o992bo$1011bo
$456b2o$456b2o5$2o697bo267b2o$2o698bo266bobo$698b3o266bo$534bobo$535b
2o$535bo1455bo$1991b2o$1051b3o936bobo$1051bo$1052bo7$1009b2o$1008b2o$
1010bo3$221bo1757b2o$222b2o870bo883bobo$221b2o870b2o885bo$1093bobo8$
1050b3o$1050bo$1051bo3$1967b2o$710bo424b2o831b2o$711b2o422bobo829bo$
547bo162b2o423bo$548bo$546b3o5$1093bo$1092b2o$1092bobo4$1955b3o$1177b
2o778bo$1176b2o778bo$1178bo3$234bo$232bobo$233b2o2$1134b2o$1134bobo$
1134bo3$1944bo$1944b2o$1218b3o722bobo$1218bo$1219bo4$723bo$721bobo$
558bo163b2o$559b2o615b2o$558b2o615b2o$1177bo3$1932b2o$1261bo669bobo$
1260b2o671bo$1260bobo8$1217b3o$1217bo$244bobo971bo$245b2o$245bo$1920b
2o$1302b2o617b2o$1302bobo615bo$1302bo7$1260bo$1259b2o$1259bobo2$733bob
o$734b2o$571bo162bo1173b3o$569bobo772b2o564bo$570b2o771b2o564bo$1345bo
7$1301b2o$1301bobo$1301bo3$1897bo$1897b2o$1385b3o508bobo$257bo1127bo$
258bo1127bo$256b3o6$1343b2o$1342b2o$1344bo3$1885b2o$1428bo455bobo$
1427b2o457bo$1427bobo$746bo$747bo$745b3o$581bobo$582b2o$582bo2$1384b3o
$1384bo$1385bo3$1873b2o$1469b2o403b2o$1469bobo401bo$1469bo6$268bo$269b
2o1156bo$268b2o1156b2o$1426bobo4$1861b3o$1511b2o350bo$1510b2o350bo$
1512bo7$757bo710b2o$758b2o708bobo$594bo162b2o709bo$595bo$593b3o$1850bo
$1850b2o$1552b3o294bobo$1552bo$1553bo7$1510b2o$1509b2o$1511bo3$281bo
1556b2o$279bobo1313bo241bobo$280b2o1312b2o243bo$1594bobo8$1551b3o$
1551bo$1552bo3$1826b2o$770bo865b2o189b2o$768bobo865bobo187bo$605bo163b
2o865bo$606b2o$605b2o5$1594bo$1593b2o$1593bobo4$1814b3o$1678b2o136bo$
1677b2o136bo$1679bo3$291bobo$292b2o$292bo2$1635b2o$1635bobo$1635bo3$
1803bo$1803b2o$1719b3o80bobo$1719bo$1720bo53b2o$1773bobo$1773bo2bo$
1773bo2bo$780bobo993bo$781b2o989b2obo$618bo162bo991b2o$616bobo1058b2o
96b3o$617b2o1057b2o$1678bo96bobo$1776bo$1761bo$1761b4o26b2o$1765bo6b2o
16bobo$1761b2obobo5bo2b2o15bo$1758bo2b2o3bo5b2ob3o$1757bobo2bobobo6bob
4o$1758bo4b3ob3o3b2o3bo30b2o$1761b3o2bo3bo3bob2o30b2o$1761bo4b2o3bo4b
2o32bo$1761bo3b2o3bo$1765bob3o$1763b3o$1718b3o$304bo1413bo$305bo1413bo
$303b3o2$1757b2o20b2o$1757b2o21b2o$1779bo2$1749bo6bo$1749bo4bo2bo92b3o
$1753b2o95bo$1753b2o3bo92bo$1757bo2$1761bo$1742b2o16b2o$1742b2o16bobo$
793bo$794bo$792b3o$628bobo1136b3o$629b2o1138bo$629bo1138bo145b3o$1913b
o3bo$1893bo19bo4bo$1892b2o20bo3bo$1727b2o163bobo14b2o5b3o$1727b2o180b
2o$1940b2o$1911bo27b2o$1784bobo15b2o107bo29bo$1785b2o15bobo$1785bo16bo
57b2o44b3o$1859b2o$1860bo49b3o$1756bo152b4o$1756b2o102bo41b2o5bo3bo86b
o$1712b2o41bobo98bo4b2o38bo2bo5bo88bo2bo$315bo1396b2o140b2o2bo5bo37b3o
6bobo84bo3bo$316b2o1537bo4b2o3bo36b2ob2o5bobo83bo$315b2o1538b2o5bo40bo
2bo5b2o85bobobobo$1855bo4b2o3bo41b2o4bo86bo4bo$1856b2ob2obo2bo36bo5bo
93b2ob2o$1857bob2o3bo38bo4bo86b3o4b2obo$1862bob2o38bo2bo73b3o11bo2bo4b
2o$1862bobo40bo17bo57bo14b3o$1844bo14b2obo58bobo58bo8bo$1843b3o6b2o5b
2obo59b2o105b2o$1697b2o143b2o2b2o3bo2b2o2b2obo35b2o88b3o39bobo$1697b2o
144b5o2b2o4b3o33bo4b2o88b3o7b3o29bo$1843b2ob2o2bo4bo2bo32b2o93b2ob2o4b
4obo$1744b2o97bob3o4bob2obo33bobo55b2o35b3obo3bo3b3o$1743bobo97b2o3bo
5b2obo91b3o35b2obo2b2o$1745bo98bob2o2bobo2bo5bo86bo2bo35bo4b2o$1843b2o
4bo12bo86b3o$804bo1039b2o3b2o9b3o86b2o44bo$805b2o1047b3o88bo4bo38bo4bo
bo5bobo$641bo162b2o1042bo2bo92bobo3bobo35bobo4bo7b2o$642bo1206b2o93bob
o3bo2bo34bo2bo11bo$640b3o1039b2o166bo31b2o66bob2o35b2o$1682b2o198b2o
60b4o2bo2bo$1944bo2bo2b2obo$1945bo3b3obo$1842b2o102b2ob2o2bo28b2o87b2o
$1842b2o103bo2bob3o27b2o86b2o$1933b2o15bob2o118bo$1933bo2bo5bo9bo$
1732b2o63bo135bo6b3o8bo$1733b2o63bo136bo3b2obo3b2o$1732bo63b3o143b3o
35b3o$1667b2o198b2o67bo4b4o3bo31bo53bo$1667b2o198b2o68b3o8bo32bo52bo$
1944bo2b2o85b2o$1947bo$1827b2o104bob2o8bo5bo15b2o66b3o$1827b2o104bo2bo
7bobo5b2o13b2o63b2o$328bo1604b3o9bo5b2o78bobo$326bobo1608b3o5bo85bob2o
bo$327b2o1609b3o91b5o$1940bo92bobo76b3o$2112bo$1652b2o198b2o259bo$
1652b2o198b2o166b3o$1720b3o309b2o$1722bo301b2o6bobo$1721bo90b2o138b2o
64bo4b2obo6bobo$1812b2o138b2o63bobo4bobo10b2o$2018bo6bob2o5b2obo$1926b
obo92bo4bo2bo6bo33b2o$1926b2o93bo5b3o39b2o$1927bo93bo6bo42bo$1872bo$
1637b2o198b2o34b2o148b3o$817bo819b2o198b2o33b2o141bo$815bobo1198bo138b
o$652bo163b2o1196b3o137b2o$653b2o1359b2o138bobo$652b2o1361b2o$1709bo
304b3o$1709b2o298b4o4bo$1708bobo298bob2o3bo$2009b2obo3bo$2010bobob2o$
1622b2o198b2o187b3o$1622b2o198b2o188bo4bo93b3o99b3o$2016bobo92bo$2017b
o94bo$2213bo3b3o$2214bo3bob2o$2210b3o2b2obo$2196b2o12bobo3bo4bo$2196bo
bo11bo2bo4b3o$1964bo231bo14bobo4bo$1962bobo246b3o$338bobo1266b2o88b2o
108b2o154b2o238bo39b3o$339b2o1266b2o87bobo108b2o394bo39bo58bo$339bo
1358bo515bo29bo56b2o$2205b2o2b4o2bo84bo2bo$2205bo2b2ob2o2bo85b2o$2154b
o50bo8bo87bo$2153b2o51b2obo$2153bobo52b2o86b3o3b3o$2210bo85b3o3bobo$
2043bobo158bo4bobo6bo84b2o$2044b2o157bobo4bo8b2o75b3o3bobo$1592b2o198b
2o250bo158bo2bo11b2o76bo2b2o2bobo$1592b2o198b2o91bo318b2o91bo5bob3o$
1883b2ob2o410b3obo2bo$1884bo417b2o$1886bo399bo15bobob2o$1685b2o197bobo
310b2o86b4o6bo8bo$827bobo856b2o196b2o311b2o85bo2b2o4b2o7bobo$828b2o
855bo602b2ob2o5bo$665bo162bo1460b2o3bo3b2o33b2o$663bobo1623b2ob2ob4obo
31b2o$664b2o1529b2o87b2o3b2o5bo2b2o33bo54bo$1577b2o198b2o196bo219bobo
98b4o87b3o$1577b2o198b2o194b2o220bo101bo88bo2bo$1974b2o274b3o32bob2o7b
obo5bo81b2o$2248b2o35b3o5bo8bobo81b2o$2248b2o36bo3bo2bo2b3o4b2o86bo$
2182b2o69bo36bo94b2o2b3o$2182b2o64bo4bo36bo2bo92b2o3bo$2247bo3b2o38bob
o93b2ob2o$2248bo3bo134bo3bo$2249b4o136b3o$1673b3o574bo2bo136bo$1562b2o
111bo86b2o487b3o30b2o91b2o$1562b2o110bo87b2o520b2o91bobo$2237bob2o134b
obobo$1974bobo260bob2o132b3o3bobo3b3o$351bo1623b2o264bo6bo123b2o11b2o
4bobo$352bo1622bo191b2o68b2o2b3o3bo2bo120bo3b2o2b3o3b2obo33b2o$350b3o
1814b2o65b3o5bo5bo4b2o117bo2bo5b2obo4bo32bobo$2233bobob2o2b2o2bo2b2o3b
3o29bo95b2ob2o4bob2o28bo52bo$2234bo2bobo3bo2bo2b2o3b2o28b2o88b3o3bobob
2o2bo85b3o$2237bo5bo3b4obobo29bobo88bo4b3ob2o4b2o82b2obo$2236b3o5bo2bo
2b4o82b3o39bo4b2o88b2obo$1547b2o198b2o493b2o3bo4bo16b2o64bo3bo37b2ob4o
90b3o$1547b2o198b2o491bo2bo2bo22b2o68bo38bo92bo3b2o$2056bo183b3ob2o88b
ob2o133bob2ob2o$1662bo394bo173bo8bo92bo3bo139bo$1662b2o391b3o171bobo
102b2o3b2o131b3o$1661bobo488b2o76b2o102b2o2bo$2152b2o181b2o34b2o$2371b
2o88b3o$2233b2o89bo148b2o$2233b2o89bo141bo6bobo$840bo1483bo10b2o31b2o
89bo5b2o7bobobo$841bo690b2o198b2o520b2o79b2o2bo28b2o88bobo4bobo8b3o$
839b3o690b2o198b2o496bo23b2o65bo5b3o7bo2bo28bo89bo6bobo8bo$675bobo
1552b2o88bobo4bo11b2o121bo4bob2o41bo$676b2o1553bo89bo6bo2bo6bo123bo5b
2o41b2o$676bo1553bo98bobo130bo48bobo$1932bo204b2o184b3o4b2o41b3o185b2o
$1932bobo202b2o217b2o15bo90b3o94b2obo$1932b2o380bobo10bo28b2o16bo49bo
135bo3bo$1650b2o663b2o10bo95b4o134b3o$1649bobo663bo11bo94bo3bo135bo$
1651bo771b2o136b2o$1517b2o198b2o520b2o183bo2bo134b3o$1517b2o198b2o520b
2o182bo27bo3b3o91bo12b3o$2423bo2bo23bo6bo91bo$2313bo3b2o106b2o23bo5b2o
91bo11b2o$2312bobobob2o90b3o10bo27b5o105b2o$2122b2o188bo5bo133b3o91bo
10bob2obo$2122b2o189bo3bo23b2o80b2o28bo91bobo7b4obo$1987bo326b3o24b2o
65bo13bobo33bo87bo7b2o2bob3o$1988bo418bobo8b3obo34bobo92b2ob7obo$362bo
1623b3o331bo87bo7b2o2bob2o34bo93bo4b2o2bobo$363b2o1954bobo78bo14bobo5b
obo126bo9b2o$362b2o1138b2o198b2o520b2o94bo80bo12b2o3b2o3b2o127bo3bo42b
3o$1502b2o198b2o520b2o35bo137b3o13b5o4bo18b2o110b2o43bo$1638b2o622b2o
152bob2o23b2o18b2o136bo$1639b2o620b2o154bo44b2o185bo$1638bo825bo183b3o
$2107b2o538bo3bo$2107b2o217b2o182b3o134bo3bo$2067bo258b2o181bo3bo24bo
109b4o$2068b2o439bo2b2o23bobo3b3o89b3o11bo$2067b2o331bo97bo11b3o25b3o
4bo$2399bobo3b2o91bo41b2o2b2o98b3o$1487b2o198b2o520b2o189b2o4b2o90bo
42b4o88bo8bo4bo$1487b2o198b2o520b2o192bo2bo21b2o75bob2o34b2o87bobo6bob
2ob2o$2403b3o22b2o65bo8bo2b2o36b2o86bo7bo4b6o$2407bo76bo9bobo6bob2obo
35bobo100bo2b2o$851bo1553bo2bo76b2o8bo7b2o4bo2b2o31bo95b3o3b3o$852b2o
1238b2o253bo60bo75b2o18bo4b2obo129bo$688bo162b2o1239b2o217b2o32bobo58b
2o96b2o4b2o$689bo936b3o682b2o33b2o155bo26b2o$687b3o938bo901b2o158b2o$
1627bo1061b2o$1890bobo659b2o137bo$1472b2o198b2o216b2o302b2o356bobo183b
o$1472b2o198b2o217bo302b2o217b2o137bo184b2o$2413b2o210bo5bo91bo13bobo$
2599b3o22bobo5b2o89bo$2487bo5bo105bo25b2o6bo89bo10b2o$2077b2o407bobo3b
obo89b3o13bo29bo96bo5bob2o$2077b2o217b2o189b2o5b2o100b2o32b3o87bo5bob
2o3bob2o$2296b2o195b2o20b2o53bo25b2o32b3o86bobo6b2ob2o3b3o$2491bob2o
20b2o51bobo11bo5b3o4bo3bo26bo93bo4bo3bobobo2b2o$2430bobo56bo79b2o10bob
o5b2obobobo2bo26bo96bo4bo7bo$2431b2o55bo4bo88bo4bo6bo4bo27bo94bo5b2o$
1457b2o156bo41b2o520b2o250bo56bobo94b6o7bo124b5obobo$1457b2o156b2o40b
2o339bo180b2o217b2o89bo3bo91bo2b3o6bo126bo6bo$1614bobo382b2o397b2o185b
2o5bobo22b2o$375bo1622b2o587bo4bo24b2o$373bobo2337bo$374b2o1686b2o648b
obo64b2o$2062b2o210bo6b2o424b2o70bobo$2272bobo6b2o217b2o72b3o65bo63bo
4bo5b2o60bo$2273b2o225b2o67b2o3b2obobo61b2o64bo2bo6b3o$2569b2o4bo4bo
60bobo64b3obobo2b3o89b3o14b3o$2569b2obob2o4bo91bo40b3o4bo5b2o91b2o5bo$
1442b2o720b2o405b2ob4o2bo72bobo16bo16b2o25b4obo92bo2b2o2bo5bo$1442b2o
225bo410bo83b2o217b2o131bo62bo2bo5b2o64b2o16bo8b2o5b2o27b4o7bo78bo6bob
3ob3o$1668b2o408bobo302b2o132bo60b4obo4b2o12b2o50bo20bo4bo2bo6bo30b2o
83bobo7bobob2o$1668bobo408b2o434b3o64bo6b2o11b2o65bo5bobob2o2bo29b3o5b
2o3b2o79bo8bo3bo$2589bo78bobo7bo4bo37bobo2b2o88bobo$1603b2o442b2o527bo
6b3o2b2o79bo9bo2bo38b2o88b2ob3obo$1602bobo442b2o217b2o307b3o5bo4bo88bo
3bo30bo3bo4bobo87b2o$1604bo661b2o217b2o88b3o6bo88b2obo2bo41bobo$2485b
2o87b2ob2o4bobo87b2obo2bo24b2o7bobo5b2o$864bo1710b3o5b2o119b2o8bo86b3o
$862bobo1492bobo215b3o6bo217b2o$699bo163b2o562b2o720b2o207b2o303b2o
135bobo$700b2o725b2o720b2o207bo9b2o292bob2o131b2ob2o$699b2o1667b2o217b
2o71bo136b2obobo66bo$1849bo737b2o71bob2o75bo57b3o68b2o27bo$1848bo810bo
2bo77bo63b4ob2o57bobo26bo$1848b3o181b2o566bo59bo2bobo64b3o5b3o18bo45bo
bobobo85bo7bo$1710b2o320b2o217b2o348b2o57bo5bob2obo58bo27bobo5bo38bob
3o2bo88bo4bo9b2o$1710bobo538b2o217b2o128b2o65bobob2o58bo35bo38bo5bo88b
ob4o8b2o$1710bo759b2o189bo7bo2b2o15b2o68bo3b2o3bo9b2o24bob2o4bo80b3o6b
4o11bo$2661bo5b2o4b2o14b2o65bobo4b6o9bobo21b2o3bo3bo82b2obo$1591b2o
1072bo3b5o81bo22bo20b2ob2o4b3o84bobo3b2o$1412b2o178b2o540b2o525bo3bo4b
3o83bo2bo36b2o2bobo92b3o3b2o$1412b2o177bo542b2o217b2o307bobo6bo85b3o3b
2o31b2o3bo$2353b2o88bo128b2o84b2o2bobo93bo4b2o$2444bo127b2o84b2o3bo
127b2o$2442b3o346b2o96b3o$2017b2o870b3o$2011bo5b2o217b2o514bo135bo2bo$
2009bobo224b2o217b2o294b3o69bo63b4o$385bobo1622b2o443b2o217b2o148b2o
61bo$386b2o2286b2o10bo61bob3o70b2o63bo$386bo2297bobo59bo2bobo136bo4bo$
1397b2o353b2o365b2o163bobo398b2o64bo131b3obo3b4o62b3o$1397b2o352b2o
366b2o164b2o51b2o405bo102b2o35bob2obo3b2o61bo$1753bo531bo52b2o217b2o
187bo2b2o3b3o63b2o21bo5b2o34bo9b2o61bo$2557b2o187bobo3b2o3bo18b2o41b2o
23b3o2bobo32b3ob2o3bob3o$1579b3o1169b2obo3bo17b2o43bo25bo4b2o29bo3b2ob
5obo$1581bo420b2o741bo2bo2b2o5bo94bo14bo15bo2bo3b2ob2o$1580bo421b2o86b
obo128b2o304bo218b2obo3b3o2bo90b5o13b2o16b2o$2091b2o128b2o217b2o86b2o
216b2obo4bob2o87b4o18bobo$2091bo348b2o85b2o130b2o87bo100b2o$2659b2o
188b2o27b2o$2878b2o$1382b2o720b2o731b2o70bo$1382b2o720b2o217b2o512b2o
68bobo$2323b2o217b2o225bobo136b2o$874bobo1493bo171b2o217b2o7b2o65b2o$
875b2o1494bo389b2o7bo62b2ob3o161bo$712bo162bo917b3o191b2o380b3o461b2o
164b2o$710bobo1080bo193b2o217b2o791bobo$711b2o1081bo411b2o217b2o505bo$
1568bo239bo616b2o217b2o188b4obo91b3o$1568b2o236b2o836b2o189bob4o22b2o
65bob3o$1567bobo237b2o804bo221bobobobo21b2o44b2o19b2o2b2o$1367b2o720b
2o520bobo223bo2b3o66bobo23b2o$1367b2o720b2o217b2o302b2o220b2ob3o2bo66b
o16b2o6b2o$2308b2o217b2o309b4o84b2o6bo$2527b2o217b2o179bo28b3o$2746b2o
208bo$1972b2o881bo101bo$1972b2o217b2o663bo67bo$2191b2o217b2o42bo399b3o
67bo$2410b2o43b2o172b2o293bo3bo$1836bo617b2o173b2o217b2o76bo2bo111b2o$
1835b2o1011b2o76bo3bo110bobo$1352b2o481bobo183bobo50b2o843b2o5bo2bo
111bo$398bo953b2o668b2o50b2o842bo2bo5bobo$399bo1156b2o464bo489b2o404bo
9b3o$397b3o1155bobo954b2o182bobo32b2o189b2o4bo2bo$1557bo1139b2o32b2o
186b5o5bobo$1957b2o738bo226b2o3b2o$1957b2o217b2o747b2o$2176b2o217b2o
523bo3b2o73bo$2395b2o217b2o305bo76b2o$2614b2o217b2o104bo58bobo$2103bo
729b2o105b2o$1337b2o720b2o43bo435bo398b2o$1337b2o720b2o41b3o433bobo$
2497b2o40b2o$1877b2o618b2o217b2o365b2o$1877bobo836b2o364b2o$1877bo64b
2o1140bo$1942b2o217b2o619bo$887bo656b2o615b2o620bo$888bo656b2o1052b2o
180b3o$886b3o655bo1054b2o217b2o$722bobo2093b2o$723b2o597b2o720b2o$723b
o598b2o720b2o994b2o$1765bo716b2o556bobo$1765bobo714b2o217b2o337bo$
1765b2o856bobo75b2o$1927b2o695b2o$1927b2o217b2o476bo$2146b2o$1919b2o
663b2o538b3o$1918b2o664b2o217b2o319bo$1920bo882b2o61bo258bo$1307b2o
1558b2o$1307b2o223b3o1331b2o$1534bo$1533bo1152b2o$2686b2o$1912b2o$409b
o1502b2o217b2o949b2o$410b2o1719b2o576bo371b2o$409b2o2158b2o139bo372bo$
2569b2o137b3o77b2o$2788b2o$1292b2o$1292b2o1873bo$1960b3o1203b2o$1960bo
710b2o279bo213bobo$1961bo709b2o277bobo$1521bo375b2o651bobo398b2o$1521b
2o374b2o652b2o$1520bobo1028bo$2554b2o$2554b2o217b2o$2773b2o$1277b2o
1514bo329b3o$898bo378b2o1515b2o327bo$899b2o1892b2o329bo$735bo162b2o
1756b2o$736bo1919b2o$734b3o1145b2o$1882b2o119bo1204b2o28bo$1723bobo
276b2o1204bobo25bo4bo$1723b2o277bobo631bo571bo26b2o5bo$1724bo912bo120b
2o474bo4b3ob3o$1509b2o1124b3o120b2o476bo7b2o9b3o$1262b2o244bobo1722b2o
4bo4bobo8bo$1262b2o246bo1722b2obo19bo$3235b2o3bo$2641b2o597b2o$2641b2o
236bo286bo$1867b2o1008bobo285b2o$1867b2o1009b2o285bobo$3229bo$3227bobo
$2743b2o484bo$2743b2o480bo2bo$422bo824b2o795b2o1178bo3bo$420bobo824b2o
795bobo673bo502bo2b2o$421b2o1621bo676b2o500bo2b2o$2720b2o502bo73bo$
1497b2o1725b2o3bob3o63b2o27b3obo$1498b2o352b2o1369b3o3bo4bo62bobo25b5o
bo$1497bo354b2o1369bo5bobo3bo87b2o5bo2bo$3223b2obo3bo3bo88bob2o6b2o10b
2o$2962bobo260b2o5b2o88b2o4bo6bo8b2o$2728b2o233b2o242b2o114bob4o5bo11b
o$2728b2o233bo243bobo114b2ob3o$1232b2o1973bo121bo2bo$1232b2o1983b2o
112bo$3217b2o27bo$3247b2o68bo$3246b2o70bo$1837b2o247b2o718bo509bobo$
911bo925b2o246b2o717bobo509b2o$909bobo1175bo717b2o508b3o$746bo163b2o
2402b2o94bo$747b2o736b3o1824b2ob2o93b2o$746b2o739bo1824b2o3bo91b4o$
1217b2o267bo195bo1588bo42bo93bo4bo$1217b2o462bo1520b2o66bobo45bo2bo64b
3o19b2o3b2o$1681b3o1518b2o65bo3bo39b2o3b3ob2o62bo22bo4b2o$3249b2o19bo
2bo38b2o5b2ob2o63bo17bo6bobo$3248b2o15b2o5b2o39bo2bo5b2o82bo5b2o20b2o$
1822b2o1426bo14bo48b2o4b2o83bo28bobo$1822b2o1443bo29bo136bo$3268bo27b
2o$3266b2o28bobo103bo$2889bobo414b2o94b2o$2127b3o760b2o370b3o41b2o28bo
66bo$1202b2o923bo762bo443bobo65b2obob2o$1202b2o924bo1058b2o146b2o66bo$
1474bo1712b2o76b2ob2o127b2o4bo4bo$1474b2o1782bo6bo2b2o128b2o8bo$1473bo
bo1782b2o6b3o129b2o5b2o$432bobo1372b2o1448b2o10b2o126b2obo4b2o2bo$433b
2o1372b2o1459b3o132bob2o2bo$433bo2826b3o6bo128bob9o$3260bo2bo135b2o4bo
$3259bo3bo27b2o66b3o41b2o71b2o$3259bo2b2o27b2o66b3o41bo71b2o$1187b2o
2071b2o16bo59b2o19bo2bo114bo$1187b2o1786bo196b2o105bo58bobo13b2o6bo54b
obo$2976bo195b2o103b3o58bo15bo6bo56b2o$2170bo803b3o379bo35b2o24bo$
2169b2o1184b2o28b3o4b2o$1792b2o375bobo1183b2o28bo$1792b2o1558bo7b2o24b
o58bo$1462b2o1888bo89bo4bo$1461bobo1888bo89bo4bo$1463bo1812b2o165bo$
2816bobo457b2o68bo7b2ob2o$921bobo248b2o1643b2o528bo6b2obo87bo$922b2o
248b2o1643bo339b2o186bobo8bo82b3o3b4o$759bo162bo2234b2o187b2o10bo80b3o
4b3o$757bobo2597b3o17b2o59b3o6bobo67b3o$758b2o2590bo26b2o59b3o4b3o69bo
$1641bo135b2o1570b3o86b3o4b4obo67bo$1639b2o136b2o1569bo2b2o86b2o6bo2bo
$1640b2o1706bo2bo88b2o6b2o$2211b2o1136b2o15bo61bo12b2o5b2o$2211bobo
1047b2o104b2o58b2o8bo4bo$2211bo1049b2o103b2o59bobo5b2obo$1157b2o2276bo
$1157b2o291b2o1690b2o296bo34b2o$1451b2o1449bo239b2o288b2ob3o2bo33b2o$
1450bo1452bo458b2o68bo3b5ob3o31bo$2901b3o458b2o70b2o6b3o$1762b2o1669bo
7bo2bo$1762b2o1666bobo$3428b4o128bo$3427bob2o9bo7bo110b2o$445bo2800b2o
179bo11bobo4bobo110bobo$446bo2799b2o180bo4b2o5bo6b2o$444b3o695b2o2290b
2o$1142b2o1983b2o306bo$2253b2o872b2o$2252b2o$2254bo$1747b2o1540bo$
1438b3o306b2o1237bo303b2o224b3o$1440bo1546b2o300b2o225bo$1439bo1546b2o
529bo$3231b2o$3231b2o188bo$1127b2o2291bo$1127b2o1983b2o306b3o178b2o$
3112b2o487bobo$2829bo771bo$934bo1895bo$935bo796b2o1094b3o$933b3o796b2o
$769bobo1522b3o$770b2o1522bo$770bo1524bo920b2o$1427bo170bo1617b2o341bo
$1112b2o313b2o169bobo1957b2o$1112b2o312bobo169b2o1497b2o459bobo$3097b
2o280bo$3377bobo$3378b2o$1717b2o$1717b2o1924b2o$2913bo728b2o$2914b2o
728bo$2913b2o286b2o$3201b2o$1097b2o1238bo$1097b2o1237b2o744b2o$2336bob
o743b2o374bobo$456bo3002b2o$457b2o956b2o2042bo140b2o$456b2o956bobo285b
2o1896bobo$1416bo285b2o1896bo3$3186b2o$3186b2o114bo$1082b2o1915bo300bo
bo381b3o$1082b2o1913bobo67b2o232b2o381bo$2998b2o67b2o616bo2$3380bo$
1687b2o689b2o998b2o$1687b2o689bobo998b2o$2378bo$2840bo$945bo457b2o
1436b2o328b2o469b2o$946b2o456b2o1434b2o329b2o468b2o$782bo162b2o120b2o
334bo2239bo$783bo283b2o1983b2o$781b3o2268b2o2$1556bobo2168bo$1556b2o
114b2o2052b2o$1557bo114b2o2052bobo$3389bobo$3390b2o$3156b2o232bo$2420b
2o734b2o$1052b2o1365b2o$1052b2o1367bo504bo110b2o$2924bobo110b2o$1391b
3o1531b2o756b3o$1393bo2289bo$1392bo264b2o2025bo$1657b2o1812bo$3472bo$
469bo3000b3o$467bobo2671b2o625b2o$468b2o2671b2o625bobo$1037b2o2729bo$
1037b2o1983b2o$3022b2o2$2461b3o848bobo$1642b2o817bo547bobo301b2o$1642b
2o818bo547b2o301bo$1380bo1629bo715bo$1380b2o2343b2o$1379bobo1744b2o
209bo387bobo$3126b2o209bobo$1022b2o2313b2o$1022b2o1983b2o$2853bo153b2o
$958bo1892bobo956b2o$956bobo1893b2o955b2o$793bo163b2o668b2o2182bo$794b
2o831b2o$793b2o$1515bo988bo$1514bo988b2o606b2o$1514b3o986bobo605b2o$
1007b2o2393bo$1007b2o359b2o1622b2o409bo363b2o$1367bobo1622b2o407b3o
363bobo$1369bo2397bo2$1612b2o$1612b2o1322bobo$2937b2o$2937bo913b3o$
3096b2o753bo$3096b2o754bo$992b2o2488bo$992b2o1983b2o504b2o$479bobo
2063b2o430b2o503b2o$480b2o2063bobo$480bo2064bo$1597b2o$1356b2o239b2o
2210b2o$1357b2o2449b2o$1356bo1968bo484bo$3022bo58b2o243bo$3023bo57b2o
241b3o$977b2o2042b3o$977b2o1983b2o930bo$2962b2o929b2o$3295bobo595bobo$
3295b2o$1582b2o1712bo$1582b2o$2587b2o274bobo$968bobo1615b2o276b2o$969b
2o1617bo275bo201b2o$806bo162bo2096b2o$804bobo155b2o380b3o2503b3o$805b
2o155b2o382bo1600b2o901bo$1345bo128bo1472b2o902bo$1472b2o$1473b2o$
1567b2o1844bo$1567b2o1845b2o519b2o$3413b2o520bobo$3935bo$3051b2o$2949b
o101b2o$947b2o2001bo$947b2o1679b3o301b2o14b3o$2628bo303b2o$2629bo$
1333bo2559bo$1333b2o217b2o1941bo396b2o$492bo839bobo217b2o1939bobo396bo
bo$493bo3000b2o$491b3o$3036b2o$3036b2o$932b2o3043b2o$932b2o1983b2o
1057b2o$2917b2o417bo641bo$3033bo303b2o$3034b2o300b2o$1537b2o1132bo361b
2o$1537b2o1131b2o$2670bobo581bo$3253bo$1321b2o1698b2o230b3o678b2o$
1320bobo1698b2o911bobo$917b2o403bo1553bo1057bo$917b2o62bo1895bo24b2o$
982bo1892b3o24b2o$980b3o$816bobo$817b2o703b2o2494b3o$817bo704b2o2494bo
$1431bo2587bo$1431bobo$1431b2o1573b2o$2712b2o292b2o418bo$902b2o1808bob
o709bobo$902b2o1808bo174b2o536b2o$2887b2o$1309b2o2665b2o$1310b2o1648bo
1014b2o$1309bo197b2o1452b2o1014bo$1507b2o1451b2o3$2991b2o1068bo$2991b
2o512bobo552b2o$503bo383b2o2617b2o552bobo$504b2o381b2o2617bo$503b2o2$
2754b2o$1492b2o1259b2o$1492b2o1261bo$3349bo$1297b3o1746bo300bobo667b3o
$1299bo1676b2o66bobo301b2o667bo$1298bo1677b2o67b2o971bo$872b2o$872b2o
2339bo$3211b2o$3212b2o888b2o$4102bobo$1477b2o2623bo$992bo484b2o$993b2o
$829bo162b2o$830bo1964b3o$828b3o1964bo$857b2o1937bo$857b2o427bo102bobo
2668bo$1286b2o101b2o2668b2o$1285bobo102bo2668bobo$3436bobo$1462b2o
1973b2o$1462b2o1973bo2$4144b2o$4143b2o$4145bo$842b2o$842b2o$2838bo$
2837b2o679bo$2837bobo679bo$516bo930b2o2068b3o$514bobo757b2o171b2o2652b
2o$515b2o756bobo2825bobo$1275bo2825bo4$3359bobo$3056bobo301b2o823b3o$
3057b2o301bo824bo$3057bo1128bo$1432b2o$1432b2o1736bo$2879b2o289bobo$
2879bobo288b2o$2879bo2$1005bo256b2o2879b2o$1003bobo257b2o2877b2o$1004b
2o256bo2881bo3$1348bo68b2o$1347bo69b2o2809bo$1347b3o2877b2o$3449bo777b
obo$3450bo$3448b3o2$2921b2o$2920b2o$2922bo2$1250b3o149b2o2780b3o$1252b
o149b2o2780bo$1251bo2933bo$3529bo$3530b2o$526bobo3000b2o$527b2o3740b2o
$527bo3741bobo$4269bo3$1387b2o1983bo$1387b2o1573b3o104bo303bo$2962bo
107bo300b3o$2963bo104b3o$1239bo2987bo$1239b2o2985b2o$1238bobo1887bobo
1095bobo$3128b2o$3129bo3$1015bobo354b2o2937b2o$1016b2o354b2o2936b2o$
1016bo3295bo3$1307bo1697bo$1305b2o1697b2o$1306b2o1696bobo$3460bo$1227b
2o2232b2o805b2o$1226bobo2231b2o806bobo$1228bo128b2o2909bo$1357b2o4$
4352b3o$4352bo$4353bo$3542bo$539bo3000bobo$540bo2505b2o493b2o$538b3o
801b2o1702bobo$1342b2o1702bo2$1215b2o3093b2o$1216b2o3091b2o$1215bo
2167bo927bo$3080bo303b2o$3081b2o300b2o$3080b2o$4395bo$3087bo1306b2o$
1327b2o1757bo1307bobo$1327b2o1757b3o3$1028bo$1029bo$1027b3o2$1203b3o
3145b3o$1205bo3145bo$1204bo59bo3087bo$1264bobo45b2o$1264b2o46b2o$3473b
o$3471bobo962b2o$3472b2o962bobo$4436bo6$1297b2o$1192bo104b2o3095bo$
1192b2o2358bobo838b2o$550bo640bobo2359b2o838bobo$551b2o3000bo$550b2o3$
4478b2o$4477b2o$3396bo1082bo$1282b2o2110bobo$1282b2o2111b2o5$1180b2o
3253b2o$1179bobo3253bobo$1181bo3253bo$1039bo$1040b2o$1039b2o226b2o$
1267b2o$4519b3o$4519bo$1222bobo3295bo$1222b2o$1223bo$3483bobo$3484b2o$
3484bo2$1168b2o82b2o3223b2o$1169b2o81b2o3222b2o$1168bo3309bo4$3565bo
996bo$3566bo994b2o$563bo3000b3o994bobo$561bobo$562b2o$1237b2o$1237b2o
3$3406bobo$1156b3o2248b2o1109b3o$1158bo2248bo1110bo$1157bo3361bo4$
1222b2o3379b2o$1222b2o3379bobo$4603bo$1052bo$1050bobo$1051b2o3$1181bo$
1145bo34bo3380bo$1145b2o33b3o3377b2o$1144bobo60b2o2287bo1063bobo$1207b
2o2288bo$3495b3o3$4645b2o$4644b2o$4646bo4$1192b2o2382bo$1192b2o2383b2o
$573bobo3000b2o$574b2o557b2o3467b2o$574bo557bobo3467bobo$1134bo3467bo
3$3419bo$3420bo$3418b3o1265b3o$1177b2o3507bo$1177b2o3508bo7$1062bobo
56b2o3521b2o$1063b2o57b2o3519b2o$1063bo57bo3523bo$1162b2o$1162b2o$
1140bo$1138b2o3589bo$1139b2o3587b2o$3507bo1220bobo$3508b2o$3507b2o4$
1147b2o$1147b2o$1109b3o3573b3o$1111bo3573bo$1110bo3575bo$3589bo$586bo
3000bobo$587bo3000b2o$585b3o4182b2o$4770bobo$4770bo$1132b2o$1132b2o$
3430bo$3431b2o$3430b2o2$1098bo3629bo$1098b2o3627b2o$1097bobo3627bobo3$
1117b2o$1075bo41b2o$1076bo3735b2o$1074b3o3734b2o$4813bo3$1097bo$1097bo
bo$1097b2o$3520bo$1086b2o14b2o2414bobo1248b2o$1085bobo14b2o2415b2o
1248bobo$1087bo3681bo5$4853b3o$4853bo$4854bo$3599bobo$597bo489b2o2511b
2o$598b2o487b2o2511bo$597b2o3$4811b2o$4810b2o$3443bo1368bo$1073bo2367b
obo$1072bobo2367b2o$1072b2o$4896bo$4895b2o$4895bobo6$1058bo$1057bobo$
1057b2o3793b3o$4852bo$4853bo3$3530bobo$3531b2o1404b2o$3531bo1405bobo$
4937bo$1043bo$1042bobo$1042b2o4$3612bo1282bo$3613bo1280b2o$610bo3000b
3o1280bobo$608bobo$609b2o$1028bo$1027bobo$1027b2o3950b2o$4978b2o$3453b
obo1524bo$3454b2o$3454bo5$1013bo3922b2o$1012bobo3921bobo$1012b2o3922bo
5$5020b3o$5020bo$5021bo2$998bo2544bo$997bobo2544bo$997b2o2543b3o3$
4978b2o$4977b2o$4979bo4$983bo2639bo1439bo$982bobo2639b2o1436b2o$620bob
o359b2o2639b2o1437bobo$621b2o$621bo4$3466bo$3467bo$3465b3o1551b3o$968b
o4050bo$967bobo4050bo$967b2o3$5104b2o$5104bobo$5104bo4$953bo$952bobo$
952b2o$5062bo$5061b2o$3554bo1506bobo$3555b2o$3554b2o3$5146b2o$938bo
4206b2o$937bobo4207bo$937b2o3$3636bo$633bo3000bobo$634bo3000b2o$632b3o
4468b2o$5103bobo$5103bo$923bo$922bobo$922b2o2553bo$3478b2o$3477b2o
1708b3o$5187bo$5188bo5$908bo$907bobo$907b2o4236b2o$5144b2o$5146bo4$
5230bo$5229b2o$3567bo1661bobo$893bo2671bobo$892bobo2671b2o$892b2o5$
5186b3o$5186bo$5187bo$3646bobo$644bo233bo2768b2o$645b2o230bobo2767bo$
644b2o231b2o4392b2o$5271bobo$5271bo3$3490bo$3488bobo$3489b2o2$863bo
4365bo$862bobo4363b2o$862b2o4364bobo5$5313b2o$5312b2o$5314bo2$848bo$
847bobo$847b2o2$3577bobo$3578b2o1690b2o$3578bo1691bobo$5270bo4$833bo$
832bobo4519b3o$832b2o4520bo$3659bo1695bo$3660bo$657bo3000b3o$655bobo$
656b2o3$5312b2o$818bo4492b2o$817bobo2680bobo1810bo$817b2o2682b2o$3501b
o2$5397bo$5396b2o$5396bobo4$803bo$802bobo$802b2o2$5353b3o$5353bo$5354b
o2$3590bo$3591bo$3589b3o1846b2o$788bo4649bobo$787bobo4648bo$787b2o6$
3670bo1725bo$3671b2o1722b2o$667bobo3000b2o1723bobo$668b2o103bo$668bo
103bobo$772b2o2$5480b2o$3513bo1965b2o$3514bo1966bo$3512b3o4$758bo$757b
obo$757b2o4678b2o$5437bobo$5437bo5$5521b3o$5521bo$743bo4778bo$742bobo$
742b2o2857bo$3602b2o$3601b2o3$5479b2o$5478b2o$5480bo2$728bo$727bobo$
727b2o2954bo1880bo$680bo3000bobo1879b2o$681bo3000b2o1879bobo$679b3o5$
3524bo$713bo2811b2o$712bobo2809b2o1994b3o$712b2o4806bo$5521bo4$5605b2o
$5605bobo$5605bo2$698bo$697bobo$697b2o3$5563bo$5562b2o$3614bo1947bobo$
3612bobo$3613b2o3$5647b2o$5646b2o$5648bo4$3693bobo$3694b2o$3694bo$
5604b2o$5604bobo$5604bo3$3537bo$3535bobo$3536b2o2150b3o$5688bo$5689bo
7$5646b2o$5645b2o$5647bo4$5731bo$5730b2o$3624bobo2103bobo$3625b2o$
3625bo6$5687b3o$5687bo$3706bo1981bo$3707bo$3705b3o2$5772b2o$5772bobo$
5772bo3$3547bobo$3548b2o$3548bo2$5730bo$5729b2o$5729bobo5$5814b2o$
5813b2o$5815bo5$3637bo$3638bo$3636b3o2132b2o$5771bobo$5771bo5$5855b3o$
5855bo$3717bo2138bo$3718b2o$3717b2o5$5813b2o$3560bo2251b2o$3561bo2252b
o$3559b3o3$5898bo$5897b2o$5897bobo8$5854b3o$5854bo$5855bo2$3648bo$
3649b2o$3648b2o2289b2o$5939bobo$5939bo7$3730bo2166bo$3728bobo2165b2o$
3729b2o2165bobo5$5981b2o$3571bo2408b2o$3572b2o2408bo$3571b2o6$5938b2o$
5938bobo$5938bo5$6022b3o$6022bo$6023bo2$3661bo$3659bobo$3660b2o3$5980b
2o$5979b2o$5981bo4$3740bobo2322bo$3741b2o2321b2o$3741bo2322bobo6$3584b
o$3582bobo$3583b2o2436b3o$6021bo$6022bo4$6106b2o$6106bobo$6106bo7$
6064bo$6063b2o$3671bobo2389bobo$3672b2o$3672bo3$6148b2o$6147b2o$6149bo
3$3753bo$3754bo$3752b3o2$6105b2o$6105bobo$6105bo3$3594bobo$3595b2o$
3595bo2593b3o$6189bo$6190bo7$6147b2o$6146b2o$6148bo4$6232bo$3684bo
2546b2o$3685bo2545bobo$3683b3o7$6188b3o$6188bo$3764bo2424bo$3765b2o$
3764b2o2$6273b2o$6273bobo$6273bo2$3607bo$3608bo$3606b3o3$6231bo$6230b
2o$6230bobo5$6315b2o$6314b2o$6316bo5$3695bo$3696b2o$3695b2o2575b2o$
6272bobo$6272bo5$6356b3o$6356bo$3777bo2579bo$3775bobo$3776b2o5$6314b2o
$3618bo2694b2o$3619b2o2694bo$3618b2o3$6399bo$6398b2o$6398bobo8$6355b3o
$6355bo$6356bo2$3708bo$3706bobo$3707b2o2731b2o$6440bobo$6440bo7$3787bo
bo2608bo$3788b2o2607b2o$3788bo2608bobo5$6482b2o$3631bo2849b2o$3629bobo
2851bo$3630b2o6$6439b2o$6439bobo$6439bo9$3718bobo$3719b2o$3719bo3$
6481b2o$6480b2o$6482bo3$3800bo$3801bo$3799b3o7$3641bobo$3642b2o$3642bo
16$3731bo$3732bo$3730b3o9$3811bo$3812b2o$3811b2o6$3654bo$3655bo$3653b
3o!
Code: Select all
import golly as g
from glife import *
import math
import os
climberDX = 15
climberDY = -11
climberDT = 107
spineDX = -1
spineDY = -1
spineDT = 4
climberSpineShiftX = -47
climberSpineShiftY = -3
climberSpineShiftT = 2
#x mod m
def mod(x,m):
return ((x % m) + m) % m
#climberTimesAndTypesList[i][0] = (the number of generations offset) / 4
#climberTimesAndTypesList[i][1] = 0 if Default, 1 if GliderSW
climberTimesAndTypesList = [[0,1],[23,0],[27,0],[25+11+151,0]] + [[25,0]]*8 + [[25+4*5+16*4,1],[23,1],[28,0],[130+151*4,1],[28,0]] + [[25,0]]*2 + [[24,0],[25,0],[25,0]]
#[[0,1],[23,0],[27,0],[25+11+151,0]] + [[25,0]]*8 + [[25+4*5+16*4,1],[23,1],[28,0],[130+151*4,0]]
#[[0,0],[25+4*23,1],[25,1],[28,0]] + [[52,0]] + [[25,0]]*10 + [[24,0],[25,0],[25,0]]
#[[0,1]]+[[25,0]]*100+[[124+87*100-151*58,0]]+[[24,0]]+[[25,0]]*3+[[25,1],[28,0]]+[[26+4*80,0],[28,1],[24,0],[26,0]] + [[28,1],[23,0],[40,1],[23,0],[39,0],[24,0]]
#We'd like a way to automatically figure out positionings for rakes with correct offsets
#Matching SW and SE glider streams
# SE and SW glider streams have 151 possible offsets
# Increasing the distance between rakes by 1 results in a shift of 2 offsets
# Adding in a new climber between rakes results in a shift of 35? offsets
#Matching SE and NW glider streams
# 104 possible offsets
# Increasing the distance between rakes results in no shift
# Adding a new climber between rakes results in a shift of 96
# GCD of these is 8, so acts like moving 12 out of 13 possible offsets
# Not actually that many, so this is fairly inflexible
# Constructing a new NW trail: Can move 166, (aka 62 mod 104)
#
#Matching SW and NW glider streams
# 167 possible offsets
# Increasing the distance between rakes results in no shift
# Adding a new climber between rakes results in a shift of 131
#?
'''Tail Termination:
[[28,1],[26,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],
[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],
[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],
[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],
[24,0],[25,0],[36+87*(10+75)-151*49,0],[25,0],[25,0],[25,0],[25,0],[25,0],
[28,1],[23,0],[27,0],[36+151*3,0],[25,0],[25,0],[25,0],[25,0],
[47+4*99,1],[24,1],[28,0],
[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],[25,0],
[28,1],[23,0],[40,1],[23,0],[39,0],[24,0]]'''
#NE rake (blocked off)
#[[0,0],[25+4*23,1],[25,1],[28,0]] + [[52,0]] + [[25,0]]*10 + [[24,0],[25,0],[25,0]]
#NE rake (block is removable with manual editing)
#[[0,1],[23,0],[27,0],[25+11+151,0]] + [[25,0]]*8 + [[25+4*5+16*4,1],[23,1],[28,0],[130+151*4,0]]
#Basic 2x Thing:
#[[0,1],[23,1],[60,0]]
#2x Boatlayer
#[[28,1],[56,1],[23,0],[147,0],[25,0],[25,0]]
#2x SE rake
#[[28,1],[56,1],[23,0],[148,0],[24,0],[25,0],[25,0]]
#2x SW rake
#[[28,1],[56,1],[23,1],[147,0],[25,0],[25,0]]
#2x SW rake compact
#[[28,1],[43,1],[56,1],[23,0],[148,0],[24,0],[25,0],[25,0]]
#Tail blocks deleter:
#[[28,1],[23,0],[40,1],[23,0],[39,0],[24,0]]
#Tail blocks deleter 2:
#[[28,1],[23,0],[27,0],[36+151*0,0],[25,0],[24,0],[24,0]]
#Ex Extended backwards glider shooter:
#[[28,1],[23,0],[27,0],[36+151,0],[25,0],[25,0],[25,0],[25,0],[24,0],[24,0]]
def main():
#g.addlayer();
g.new("ShipBuilder")
#Initial trail segment
for i in range(1024):
g.putcells(g.parse("2bo$b2o$bobo14$43b2o$43bobo$43bo7$bo$2o$obo5$85b2o$84b2o$86bo7$42b2o$42bobo$42bo5$126b3o$126bo$127bo7$84b2o$83b2o$85bo14$125b3o$125bo$126bo!"),
167*i, 63*i)
#The spine
spineStates = [g.parse("2bo$b2o$bobo23$bo$2o$obo!", 0, 0)]
for i in range(spineDT - 1):
spineStates.append(g.evolve(spineStates[i],1))
#The climber combinations
#SE gliders are created by placing climber combinations close enough to destroy some of the blocks
climberStatesDefault = [g.parse("25b2o$23b2o2bo$23b2ob2o$25bo$11b3o2$19bobo$9bo8bob3o$8bobo8bo6bo$9bo7b2o3bo3bo$18bobo2b2obo$16bobo6bo$17bo3$67bo$66b2o$66bobo3$bo4b2o$obo5bo$b2o2bo2bo$7b2o$5bobo$3b4o$2bob2o$2b3obobo2$8bo2$11b2o6$18b2o$17b2o$19bo9bo18bo$30b2o16bo17bo$29b2o17bo16b2o$53bo2b3o6bobo$45bo5bobo4bo$44bobo3b2o3bo2bo$45bo4b2o2bo2bo$51b2o3bo$49bo2b4o$49b2o2$41bo2$38b3o3b2o$39b2o2bo$36b2o$36b2o$36b2o3bo$40bo2bob2o$38b3o2bobo2bo$37bo4b2o4bo$37b2obobo2bo3bo$39bo6b3o$41bo4b3o$38b3o$34b2o3bo$35b4o$37b2o!",
-65,-15)]
climberStatesGliderSW = [g.parse("25bo$24bobo$23bo3bo$23bo3b2o$23bobob2o$23bo3b2o$11b3o10b3o$21b2o$21b2o$9bo8bob2o$8bobo6bob2obob3o$9bo7b2obo4bobo$17bobo7bo$16bo2bo3b4o$17bobo3b2o$18bo$66bo$65b2o$65bobo4$bo6b2o$obo4bo$b2o$8bo$5b2ob2o$6bobo$7bo10$17b2o$16b2o$18bo28bo$47bo17bo$30bo16bo16b2o$31b2o19bo2b3o6bobo$30b2o12bo5bobo4bo$43bobo3b2o3bo2bo$44bo4b2o2bo2bo$50b2o3bo$48bo2b4o$48b2o2$40bo2$37b3o3b2o$38b2o2bo$35b2o$35b2o$35b2o3bo$39bo2bob2o$37b3o2bobo2bo$36bo4b2o4bo$36b2obobo2bo3bo$38bo6b3o$40bo4b3o$37b3o$33b2o3bo$34b4o$36b2o!",
-64,-16)]
for i in range(climberDT - 1):
climberStatesDefault.append(g.evolve(climberStatesDefault[i],1))
climberStatesGliderSW.append(g.evolve(climberStatesGliderSW[i],1))
allClimberStates = [climberStatesDefault, climberStatesGliderSW]
spineX = 0
spineY = 0
spineT = 0
for climberIndex in range(len(climberTimesAndTypesList)):
spineStepsToClimber = climberTimesAndTypesList[climberIndex][0]
climberType = climberTimesAndTypesList[climberIndex][1]
newSpineT = spineT - spineStepsToClimber * spineDT
newSpineX = spineX + spineStepsToClimber * spineDX
newSpineY = spineY + spineStepsToClimber * spineDY
#Add needed intermediate spine elements
for i in range(-((spineT) // climberDT)+1, -(newSpineT // climberDT)):
intermediateSpineT = spineT + i * climberDT
intermediateSpineX = spineX - i * climberDX
intermediateSpineY = spineY - i * climberDY
g.putcells(spineStates[mod(intermediateSpineT, spineDT)],
intermediateSpineX + (intermediateSpineT // spineDT) * spineDX,
intermediateSpineY + (intermediateSpineT // spineDT) * spineDY)
#Add next climber
g.putcells(allClimberStates[climberType][mod(newSpineT, climberDT)],
newSpineX + (newSpineT // climberDT) * climberDX,
newSpineY + (newSpineT // climberDT) * climberDY)
spineT = newSpineT + climberSpineShiftT
spineX = newSpineX + climberSpineShiftX
spineY = newSpineY + climberSpineShiftY
#adding another spacing unit in between SE and SW gives a (-0.5,-2.5) offset change for the SE glider
# Adding 2 of these gives a (-1,-5) offset change
#Moving the SE glider crawler back one gives a (-2,-2) offset change
#Using the previous SE glider gives (-11.25,-35.25)
#Using the previous SW glider gives (41.75,-37.75)
#Advancing 4 generations gives (2,0)
#Ex: To move (0,+8), we would need -(-1,-5)-(-2,-2)-(-2,-2)
main()
The overall vague plan I'm thinking of for the ship currently looks something like
Code: Select all
x = 269, y = 249, rule = B3/S23
59bo$58b3o$47b3o7b2obo$49bo7b3o$48bo9b2o9bo2bo$73bo$69bo3bo$70b4o8$
109b2o$108b4o$36bo71b2ob2o$36b2o72b2o$35bobo8$147b4o$146bo3bo$150bo$
146bo2bo3$24b2o$23bobo$25bo3$187b2o$185b2ob2o$185b4o$186b2o2$73b3o$72b
o2bo$75bo$75bo$72bobo$223bo2bo$12b2o213bo$13b2o208bo3bo$12bo211b4o13$
226b3o$3o225bo$2bo224bo$bo9$b3o$bo240bobo$2bo240b2o$215bo27bo$215b2o$
214bobo4$89bo$88b3o$88bob2o$89b3o$89b2o2$44bo$43b2o$43bobo2$203b2o$
202bobo$204bo10$85b2o$85bobo$85bo2$191b2o$192b2o$191bo$255bo$256bo$
254b3o7$127b2o$126b2o$128bo2$179b3o$181bo$180bo4$14bo$15bo$13b3o4$168b
3o$168bo$169bo$96bo$95bo$95b3o8$266bo$267b2o$211bo54b2o$210b2o$210bobo
14$252b2o$25bo226bobo$26b2o224bo$25b2o7$55bo$53b2o201b3o$54b2o127bo74b
o$184bo72bo$182b3o12$245bo$245b2o$244bobo3$42bo2bo$46bo$42bo3bo$43b4o
8$82b2o149b2o$81b4o147bobo$81b2ob2o148bo$83b2o5$194bo$195b2o$194b2o2$
120b4o$119bo3bo$123bo$119bo2bo$221b2o$222b2o$221bo5$160b2o$158b2ob2o$
158b4o$159b2o6$209b3o$196bo2bo11bo$200bo9bo$196bo3bo$197b4o!