(15,11)c/107 caterpillar thread

For discussion of specific patterns or specific families of patterns in Conway's Game of Life, both newly-discovered and well-known.
User avatar
glider_rider
Posts: 197
Joined: February 20th, 2013, 5:41 pm
Location: CA

(15,11)c/107 caterpillar thread

Post by glider_rider »

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:

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!
Here's the version of the script I used to generate it:

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()
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

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!
The current collection of rakes we have probably isn't sufficient yet, but this seems more achievable than anything else I've thought of.
Nora Brown
User avatar
yyh_baboon
Posts: 545
Joined: March 28th, 2025, 5:07 am
Location: on a spaceship

Re: (15,11)c/107 caterpillar thread

Post by yyh_baboon »

Crossposting something that might be a little useful:
yyh_baboon wrote: December 11th, 2025, 11:39 pm I think maybe we should find some incremental WSS recipes because synchronization is uneasy here (as the spine only creates gliders of one color)
Use this for example:

Code: Select all

x = 18, y = 15, rule = B3/S23
13b2o$13b2o3$2bo6b2o$obo6b2o$b2o6$15b2o$14bo2bo$15b2o!
Blocks are fairly easy to construct even with the color constraints:

Code: Select all

x = 6, y = 10, rule = B3/S23
bo$2bo$3o5$3b3o$5bo$4bo!
3 gliders for the beehive:

Code: Select all

x = 18, y = 20, rule = B3/S23
15bo$16b2o$15b2o5$12b3o$14bo$13bo8$3o$2bo$bo!
Which add up to 8 gliders for a LWSS(with 5 steps and 3 synchronizations)
I guess all of these fit together.
![/code]
Definitely not spam
Wondering when the P38 gun will be constructed.
Currently hand-searching spaceships.ÔvÔ

Code: Select all

 x = 4, y = 4, rule = B3aeiq4tz5j6i7e8/S2-ci3-aeky4cei5ain6acin78
3o$o2bo$3bo$b3o!
User avatar
glider_rider
Posts: 197
Joined: February 20th, 2013, 5:41 pm
Location: CA

Re: (15,11)c/107 caterpillar thread

Post by glider_rider »

Made a script to search for slow salvo recipes for NE gliders (and also for other gliders and XWSSes) that can be packed closely enough together (EDIT: There was a bug where the part that avoids repeating branches of the search tree wasn't considering parity. Should hopefully be fixed now. Maybe.):

Code: Select all

#SlowSalvoSynthSearch.py

import golly as g
from glife import *
import math
import os

name = "SlowSalvoSynthSearch"

target = g.parse("2o$2o!",0,0)

glider = g.parse("3o$o$bo!",0,0)
gliderDX = -1
gliderDY = -1
gliderDT = 4

targetsPeriod = 2
testGens = 512 #should be divisible by targetsPeriod and gliderDT

gliderPair = g.parse("3o$o$bo13$43bo$42b2o$42bobo!",0,0)

shipDX = 15
shipDY = -11
shipDT = 107

#x mod m
def mod(x,m):
    return ((x % m) + m) % m

def getrectOrGenericRect():
    if g.empty():
        return [0,0,1,1]
    return g.getrect()

def getHashWithLaneParity(parity):
    #pattern hash, pattern lane mod 4 at 0 parity
    return (g.hash(getrectOrGenericRect()), mod(getrectOrGenericRect()[0]-getrectOrGenericRect()[1] + parity*2, 4))

def boundRects(rect1, rect2):
    minX = min(rect1[0],rect2[0])
    minY = min(rect1[1],rect2[1])
    maxX = max(rect1[0]+rect1[2],rect2[0]+rect2[2])
    maxY = max(rect1[1]+rect1[3],rect2[1]+rect2[3])
    return [minX,minY,maxX-minX,maxY-minY]

def main():
    numSolutions = 0
    
    g.addlayer()
        
    targetsWithSynthDataList = [[target,1,[]]]
    #currentTargetWithData[0] = cell list
    #currentTargetWithData[1] = period
    #currentTargetWithData[2] = synth info

    g.new(name)
    g.putcells(target)
    knownHashesColors = {getHashWithLaneParity(0)}

    while targetsWithSynthDataList:
        currentTargetWithData = targetsWithSynthDataList.pop(0)

        #We want to test all possible glider collisions with this target
        #First want to find the ones where the glider actually collides and doesn't just pass through
        #Then test all of those with 2 in parallel to ensure they don't interfere with each other

        #find bounds of this target
        g.new(name)
        g.putcells(currentTargetWithData[0])
        targetBounds = getrectOrGenericRect()

        firstX = targetBounds[0] - 1
        lastX = targetBounds[0] + targetBounds[2] + targetBounds[3] + 6
        gliderPlaceY = targetBounds[1] + targetBounds[3] + 3

        targetEvolution = [currentTargetWithData[0]]
        for targetT in range(currentTargetWithData[1] - 1):
            targetEvolution.append(g.evolve(targetEvolution[targetT],1))

            
        lastGliderX = 0
        lastGliderY = 0
        lastGliderParity = 0
        if currentTargetWithData[2]:
            lastGliderX = currentTargetWithData[2][len(currentTargetWithData[2])-1][0]
            lastGliderY = currentTargetWithData[2][len(currentTargetWithData[2])-1][1]
            lastGliderParity = currentTargetWithData[2][len(currentTargetWithData[2])-1][2]

        for targetT in range(currentTargetWithData[1]):
            #TODO: I'd like to have a more complex queue system that adjusts glider 'costs' to be in line with how much rephasing it takes to construct them
            for gliderPlaceX in range(firstX, lastX + 1):
                #Glider colors must all be the same
                #Glider parity depends on the lane mod 4
                if mod(gliderPlaceX - gliderPlaceY,2) == 0 and (currentTargetWithData[1] == 1 or mod(targetT + ((gliderPlaceX - gliderPlaceY) - (lastGliderX - lastGliderY)) // 2, 2) == 0):
                    g.new(name)
                    g.putcells(targetEvolution[targetT])
                    g.putcells(glider,gliderPlaceX + gliderDX * (testGens // gliderDT), gliderPlaceY + gliderDY * (testGens // gliderDT))
                    noInteractionHash = g.hash(getrectOrGenericRect())
                    
                    g.new(name)
                    g.putcells(targetEvolution[targetT])
                    g.putcells(glider,gliderPlaceX,gliderPlaceY)
                    g.run(testGens)
                    
                    interactionHash = g.hash(getrectOrGenericRect())
                    if interactionHash != noInteractionHash:
                        
                        #We have a nontrivial interaction
                        #Test that it works in parallel
                        patRanTestGens = g.getcells(getrectOrGenericRect())
                        g.run(shipDT)
                        patRanTestGensPlusShipDT = g.getcells(getrectOrGenericRect())
                        g.new(name)
                        g.putcells(patRanTestGensPlusShipDT)
                        g.putcells(patRanTestGens,shipDX,shipDY)
                        parallelNoInteractionHash = g.hash(getrectOrGenericRect())
                        
                        g.new(name)
                        g.putcells(targetEvolution[targetT])
                        g.putcells(targetEvolution[mod(targetT-shipDT, currentTargetWithData[1])],shipDX,shipDY)
                        g.putcells(gliderPair,gliderPlaceX,gliderPlaceY)

                        g.run(testGens + shipDT)

                        parallelInteractionHash = g.hash(getrectOrGenericRect())
                        if parallelInteractionHash == parallelNoInteractionHash:

                            #The interaction works in parallel
                            g.update()

                            newGliderDataList = currentTargetWithData[2].copy()
                            newGliderDataList.append([gliderPlaceX, gliderPlaceY, (lastGliderParity + targetT) % targetsPeriod])

                            #Test if the ash has period dividing targetsPeriod: If so, add to the queue
                            #NOTE: This is only efficient because targetsPeriod=2
                            g.new(name)
                            g.putcells(patRanTestGens)
                            patRanRect = getrectOrGenericRect()
                            patRanHash = g.hash(getrectOrGenericRect())
                            period = 0
                            fullPeriodRect = getrectOrGenericRect()
                            for t in range(1,targetsPeriod+1):
                                g.step()
                                fullPeriodRect = boundRects(fullPeriodRect, getrectOrGenericRect())
                                if getrectOrGenericRect() == patRanRect and g.hash(getrectOrGenericRect()) == patRanHash:
                                    period = t
                                    #We have this period
                                    #Check if target is new
                                    baseParity = mod((gliderPlaceX - gliderPlaceY), 4) // 2
                                    currHashColorPairing = getHashWithLaneParity(baseParity)
                                    if not currHashColorPairing in knownHashesColors:
                                        #This target is new
                                        targetsWithSynthDataList.append([g.getcells(getrectOrGenericRect()), period, newGliderDataList])

                                        #register hash
                                        knownHashesColors.add(currHashColorPairing)
                                        g.step()
                                        knownHashesColors.add(getHashWithLaneParity((baseParity + 1) % 2))
                                        
                                    break

                            if period == 0:
                                #Save this

                                #Sort solutions by spaceship directions outputted
                                #Good enough approximation: Use rounded bounding box (patRanRect, possibly minus the coords of targetBounds)
                                g.new(name)
                                g.putcells(patRanTestGens)
                                g.run(testGens * 3)
                                longTermRanRect = getrectOrGenericRect()
                                expansionThreshold = testGens // 2
                                expansionThresholdMore = 3 * (testGens // 2)
                                patExpandedXMinus = (targetBounds[0] - longTermRanRect[0]) > expansionThreshold
                                patExpandedYMinus = (targetBounds[1] - longTermRanRect[1]) > expansionThreshold
                                patExpandedXPlus = ((longTermRanRect[0] + longTermRanRect[2]) - (targetBounds[0] + targetBounds[2])) > expansionThreshold
                                patExpandedYPlus = ((longTermRanRect[1] + longTermRanRect[3]) - (targetBounds[1] + targetBounds[3])) > expansionThreshold
                                patExpandedXMinusMore = (targetBounds[0] - longTermRanRect[0]) > expansionThresholdMore
                                patExpandedYMinusMore = (targetBounds[1] - longTermRanRect[1]) > expansionThresholdMore
                                patExpandedXPlusMore = ((longTermRanRect[0] + longTermRanRect[2]) - (targetBounds[0] + targetBounds[2])) > expansionThresholdMore
                                patExpandedYPlusMore = ((longTermRanRect[1] + longTermRanRect[3]) - (targetBounds[1] + targetBounds[3])) > expansionThresholdMore
                                saveSignature = 0
                                if patExpandedXMinus:
                                    saveSignature += 1
                                if patExpandedYMinus:
                                    saveSignature += 2
                                if patExpandedXPlus:
                                    saveSignature += 4
                                if patExpandedYPlus:
                                    saveSignature += 8
                                if patExpandedXMinusMore:
                                    saveSignature += 16
                                if patExpandedYMinusMore:
                                    saveSignature += 32
                                if patExpandedXPlusMore:
                                    saveSignature += 64
                                if patExpandedYPlusMore:
                                    saveSignature += 128

                                #Construct display pattern
                                g.new(name)
                                g.putcells(target,0,0)
                                g.putcells(target,shipDX,shipDY)
                                for gliderIndex in range(len(newGliderDataList)):
                                    gliderData = newGliderDataList[gliderIndex]
                                    gliderX = gliderData[0] - gliderIndex * gliderDX * (testGens // gliderDT)
                                    gliderY = gliderData[1] - gliderIndex * gliderDY * (testGens // gliderDT)
                                    g.putcells(g.evolve(gliderPair,gliderData[2]), gliderX, gliderY)

                                #make signature directory if doesn't exist yet
                                dirName = "S" + str(saveSignature)
                                if not os.path.isdir(dirName):
                                    os.makedirs(dirName)
                                
                                g.save(dirName + "/N"+str(numSolutions).zfill(6)+".rle","rle")
                                g.show("Solutions: "+str(numSolutions))
                                numSolutions = numSolutions+1

                            
        
        

main()
There's a constraint on the parity I hadn't realized existed initially, where gliders in lanes 0 mod 4 have to have opposite parity of gliders in lanes 2 mod 4. Things like this are probably our best hope of being able to pack NE gliders close together, and also may allow for a significantly smaller tail end. Here's an example of a rake using this method (ignore the fact that it fires into itself, that sort of thing should be fixable as in the other rake). Unfortunately this synthesis isn't quite edgy enough to allow creation of the standard LWSS turning salvo.

Code: Select all

x = 12316, y = 4976, rule = B3/S23
14b2o$13b2o$15bo14$55b3o$55bo$56bo7$13b2o$12b2o$14bo4$98bo$97b2o$97bob
o8$54b3o$54bo$55bo4$139b2o$139bobo$139bo7$97bo$96b2o$96bobo5$181b2o$
180b2o$182bo7$138b2o$138bobo$138bo5$222b3o$222bo$223bo7$180b2o$179b2o$
181bo4$265bo$264b2o$264bobo8$221b3o$221bo$222bo4$306b2o$306bobo$306bo
7$264bo$263b2o$263bobo5$348b2o$347b2o$349bo7$305b2o$305bobo$305bo5$
389b3o$389bo$390bo7$347b2o$346b2o$348bo4$432bo$431b2o$431bobo8$388b3o$
388bo$389bo4$473b2o$473bobo$473bo7$431bo$430b2o$430bobo5$515b2o$514b2o
$516bo7$472b2o$472bobo$472bo5$556b3o$556bo$557bo$604b2o$604bobo$588b3o
13bo2$593bo5b3o$586bo6b3o6bo$514b2o69bobo5b2o2bobo2bo$513b2o71bo9bo5bo
$515bo74b2o3b2o4bo$590bob3o3b3o$590bob5obo$591b2ob2o3$577b2o$576b4o3bo
$574b4o5bo62b2o$574bo3bo3bo62b2o$574bob4ob2o64bo$575b2o6bo110bo$582bo
2b2o106b2o$582bo4bo2b4o98b2o$555b3o26bo2b5ob2o85bo10bo$555bo31b2o4b2o
85bo10b3o$556bo31bo2b2o87bo5bo6bo$580bo7bo96b2o4bo$578b2ob2o5bobo86bo
6bob2obobo$578b2ob2o4b2o87bobo4b3o3bo$579b3o6b2o87bo6b2ob2o3b3o$570b2o
112b2ob3o2b3o$570b2o111bo3b2o$686bo$683bo3$603bobo129b2o$604b2o129bobo
$598bo5bo59bo70bo$597b2o27b3obo32bo$597bobo25b5obo37bo95b3o14b3o$555b
2o66b2o5bo2bo34bobo2b3o99b2o5bo$555b2o66bob2o6b2o10b2o18b2o2b2o4bo94bo
2b2o2bo5bo$622b2o4bo6bo8b2o117bo6bob3ob3o$623bob4o5bo11bo26b2o87bobo7b
obob2o$624b2ob3o40bo2bo89bo8bo3bo$629bo2bo37b3o11b2o86bobo$631bo39b2o
2b2o6bo83b2ob3obo$675b2o90b2o$617bo58b2obo$618bo58bo2bo$616bobo42b2o
17bo76b3o$540b2o74b2o43b2o15b2o78b2o$540b2o73b3o138bobo$614b2o137b2ob
2o$612b2ob2o136b2obobo66bo$612b2o3bo135b3o68b2o27b3obo$614bo145b4ob2o
57bobo25b5obo$618bo2bo64b3o8bo17bo45bobobobo82b2o5bo2bo$613b2o3b3ob2o
62bo11bo15bobo5bo38bob3o2bo81bob2o6b2o10b2o$612b2o5b2ob2o63bo8b3o24bo
38bo5bo80b2o4bo6bo8b2o$613bo2bo5b2o91bo3b2o3bo9b2o24bob2o4bo81bob4o5bo
11bo$614b2o4b2o24b2o64bobo4b6o9bobo21b2o3bo3bo83b2ob3o$525b2o119b2o63b
o22bo20b2ob2o4b3o89bo2bo$525b2o185bo2bo36b2o2bobo99bo$713b3o3b2o31b2o
3bo$714bo4b2o123bo$636bo110b2o96bo$634bobo110b2o94bobo$635b2o206b2o$
708bo133b3o$707b3o69bo61b2o$780b2o57b2ob2o$631b2o71bob3o70b2o58b2o3bo$
510b2o119b2o69bo2bobo93bo39bo$510b2o195bo92bobo42bo2bo64b3o$701bo97b2o
bo37b2o3b3ob2o62bo$702bo2b2o3b3o63b2o21b2o3bo34b2o5b2ob2o63bo$702bobo
3b2o3bo18b2o41b2o20bo2b3o2b2o33bo2bo5b2o$707b2obo3bo17b2o43bo20b2obo4b
o34b2o4b2o$701bo2bo2b2o5bo87bo3bo17bo$702b2obo3b3o2bo87bob2o17b2o$702b
2obo4bob2o89bo19bobo$704bo128b2o$616b2o215b2o28bo$495b2o119b2o174b2o
67bobo$495b2o295b2o68b2o2$725bobo64b2o$717b2o7b2o64b2o$717b2o7bo60b2o
8b2o157bo$788b2o6bo158b2o$787bobo6bo158bobo$787b3o6bo$792b2o2bo21b2o
66b3o$601b2o184b2ob5obo21b2o66b3o$480b2o119b2o186bo2bobo2b2o66b2o19bo
2bo$480b2o313bo69bobo13b2o6bo$793b2o70bo15bo6bo$883bo$702b2o105bo72b2o
28b3o$681bo20b2o106bo71b2o28bo$679b2o127b3o68bo7b2o24bo$680b2o197bo$
879bo$646bobo154b2o$586b2o59b2o154b2o68bo7b2ob2o111b2o$465b2o119b2o59b
o226bo6b2obo112bobo$465b2o405bobo8bo113bo$873b2o10bo$884b3o$687b2o188b
o$687b2o187b3o$875bo2b2o$769bo105bo2bo$769bobo104b2o15bo61bo$769b2o17b
2o104b2o58b2o$571b2o215b2o103b2o59bobo$450b2o119b2o$450b2o3$672b2o365b
2o$672b2o364b2o$1040bo$738bo$739bo$737b3o33b2o$556b2o215b2o$435b2o119b
2o$435b2o$996b2o$996bobo$657b2o337bo$657b2o4$758b2o60bo259b3o$541b2o
215b2o61b2o257bo$420b2o119b2o277b2o259bo$420b2o3$642b2o$642b2o2$1038b
2o$1037b2o$743b2o294bo$526b2o215b2o$405b2o119b2o$405b2o320bobo$727b2o
177bo216bo$728bo175bobo215b2o$627b2o276b2o215bobo$627b2o$1154bo15b2o$
1154bo14b2o$1154bo5bo2bo7bo$728b2o429b4o2bo$511b2o215b2o421bo12b2obo$
390b2o119b2o637bobo7b2o5bo$390b2o357bo329b3o69bo7b3ob3o$750b2o327bo76b
3o2bob3o$749b2o329bo74bobo3bo$612b2o541bobob2o$612b2o542bo2$1146b2o$
1144bo2bo$713b2o426b2o5bo$496b2o215b2o426b2o4bo$375b2o119b2o200bo441bo
3b6o61b3o$375b2o320bobo441b4o3bobo60bo$697bobo441b3o3bo64bo51b2o$698bo
134bo314b2o113b2obo$597b2o232bobo316bo5b2o104b2o2bo$597b2o94b2o7b2o
128b2o288bo26bob2o3b3o102bobo2b2o$692bo2bo5bo2bo416b2o28b2o3b2o102bo3b
ob2o$693b2o7b2o417bobo21bo3b4o3bo104b2obobo$1152b4o106bo$698bo441b2o2b
obo5b3o108bo2bo$481b2o214bobo444b3o6bo108bo3bo$360b2o119b2o200bo13bobo
444b2o$360b2o320bobo13bo436b2o113b3o13bo$682bobo450b2o124bo3bo$683bo
578b5o$582b2o664bo6b2o7bo2bo$582b2o94b2o7b2o558bobo4b2o10bo$677bo2bo5b
o2bo479bo78bo6bo2bo5bobo$678b2o7b2o227bobo248bobo81bobo2b3o$917b2o249b
2o18bobo59bo6bo43b2o$683bo233bo269bo3bo59bo3bo7bo36b2o$466b2o214bobo
478b2o27b2o70bo37bo$345b2o119b2o200bo13bobo478bobo20b4o4bo58bobo94bo$
345b2o320bobo13bo436b2o41bo25bo3bobo58bo94b3o$667bobo450b2o66b2o5b2o
151b2ob3o$668bo519b2ob5o14b3o134b2o$567b2o620bo20bo136b2o5bo$567b2o94b
2o7b2o518b2o17bo125bo10bo4bo$662bo2bo5bo2bo87bo429bo51b2o91bo9b6o$663b
2o7b2o86bobo476b3obobo91bo8b3obo$761b2o417b2o57bob3o2bo$668bo511b2o58b
5o89bo8bo4bobo$451b2o214bobo663bobo6bo6b3o$330b2o119b2o200bo13bobo510b
2o152bo6b2o2b2o2b2obo$330b2o320bobo13bo436b2o69b2o2b2o65bo93b2ob2o6bo$
652bobo450b2o68bo2bo67bobo92b2ob2o2bob2o$653bo593bo94bobo3bo$552b2o
625bo163bo$552b2o94b2o7b2o517bo2bo210b2o$647bo2bo5bo2bo516bobo2b3o48b
2o156bobo$648b2o7b2o519b2o2bo49b2o19bo136bo$843bobo330bobobo3b2o66b2o$
653bo190b2o331b2ob2o2b2o66bobo182b3o$436b2o214bobo189bo337b2o253bo$
315b2o119b2o200bo13bobo645b2o24bo6bo102bo$315b2o320bobo13bo436b2o207bo
2bo22bobo5bo89b3o9b3o$637bobo450b2o105bo100b2obo24b2o$638bo559b2o87bo
10bo2bo30b3o94b3o2bobo$537b2o658b2o88bo9b2o31b2ob2o86bo6bo5bo$537b2o
94b2o7b2o643bo9b2obo29b2ob2o85bobo5bo3bo$632bo2bo5bo2bo572b2o74b2o3b2o
32bo88bo6bo3bo2bobo$633b2o7b2o573b2o65bo10bobob2o128bo2b2o3b2o$1272bob
o8bobo8bobob3o127bo2bo$638bo634b2o9bo6bo3b3obobo121b2o2b4o$421b2o214bo
bo633bo18b2obo3bobo125b2o$300b2o119b2o200bo13bobo289bo361b3obo4bo17b2o
$300b2o320bobo13bo291bo144b2o241b2o$622bobo303b3o144b2o403bo$623bo855b
2o$522b2o884b2o69bobo$522b2o94b2o7b2o527bobo182b3o64b4o$617bo2bo5bo2bo
526b2o44b2o137bo66b6o97bo15b2o$618b2o7b2o528bo44b2o138bo66b2obo5b2o91b
o14b2o$1389b2o18bo4b2ob2o2b2o88bo5bo2bo7bo$623bo652bo4b2o73bo15b3o7bo
6bobo22b4o98b4o2bo$406b2o214bobo650bobo3b2o74bo24bo6bo25bob2o5bo83bo
12b2obo$285b2o119b2o200bo13bobo147bobo501b2o4bo20b2o50b3o20b3obobo29bo
13bo78bobo7b2o5bo$285b2o320bobo13bo149b2o285b2o218b3o20b2o65bo8bo4b3o
28b2o9bo2bo78bo7b3ob3o$607bobo163bo286b2o220bo86bobo7bo5bo29bo4bo5bobo
84b3o2bob3o$608bo670bo90bo7b2o2b3o34b2o2bo88bobo3bo$507b2o767b2ob2obo
92bobo2bo2bo39bo88bobob2o$507b2o94b2o7b2o664bo95bobob2o41b2ob2o87bo$
602bo2bo5bo2bo572b2o93bobo89bobob2o25b2o15b2o$603b2o7b2o573b2o186bo29b
2o15bo80b2o$1283bo3bo77bo135bo2bo$608bo756bo132b2o5bo$391b2o214bobo
679bo73b2obo131b2o4bo$270b2o119b2o200bo13bobo676bo74b3ob2o130bo3b6o61b
3o$270b2o320bobo13bo247bo188b2o240bobo70b2obob2o131b4o3bobo60bo$592bob
o262bo187b2o312bo3b2o66b2o7bo57b3o3bo64bo27b3o$593bo261b3o502b3o4b3o
60b2o9b2o17bo44b2o109b2o$492b2o121b2o744bo5b2o4bo58bo7b2o18bo46bo5b2o
92bo8bobo$492b2o94b2o24b2o751b2o6bo84bo18bo26bob2o3b3o79b2o5b2o2b2o8bo
$587bo2bo25bo555b2o131bo70bo13b2o86b2o28b2o3b2o79bo6bo2b3o$588b2o582b
2o36bo92bobo61b2ob2o4bo13b2o65b2o5b2o2b3o7bobo21bo3b4o3bo81bo3bob2ob2o
$577bo630bobo93b2o59b4ob2o4bo79bobo5b2o2bo40b4o83bo3b2o2bo$577bo631b2o
152b5o7bo81bob2o3bobo30b2o2bobo5b3o87b2ob2o$376b2o199bo782bo9bo3bo84b
3obo2bo34b3o6bo87bo$255b2o119b2o981bo5bo5b3o86b2o2b2o35b2o$255b2o316b
3o3b3o448b2o327bo2b4o93bo32b2o96b3o$1030b2o460b2o99bo$577bo875bo135bo
3bo$477b2o98bo874b3o132b2o4bo$477b2o98bo362bo510bob3o136bo$572bo368b2o
214b2o216b2o73bob3o71bo59bo2bo$571bobo366b2o215b2o216b2o72b2o2bo70bobo
60b3o4bo$571bobo812bobo60b2obo72b2o58bobo2bob5o61b2o27bob2o$561b3o8bo
83b3o456bo271b2o60bo134bo10b2o60b2o27b2ob2o$361b2o243b2o48bo457bo272bo
59b2o3bo2b3o62b2o27bobo32bo2bobo3bo3b2o60bo24bo5bo$240b2o119b2o196bo5b
o40bobo48bo456b3o330b2o3b3o2b2o61bobo24b3ob2o31bo2bobo3bo2bo2bo84b6o2b
2o12bo$240b2o317bo5bo40bo408b2o430b2ob2ob3o3bo17b2o41bo33bo29b3o4bo7bo
83bo3bob2o2b2o10b2o$559bo5bo449b2o430bo11b2o16b2o67b3ob2o3bo28bo2bob2o
5b2o85bo2bob3o2bo11bobo$1447b2o3b3o4b3o84bo2bobo3bo11b3o14bo3b2o94b2o
6bo$462b2o97b3o221bo660bo10bobo86b2o2bo2bobo11bo17bo2b2o101bo$462b2o
322bo660b2obobo93b2o3bo2bo13bo17b2o100bo2bo$557bo226b3o355b2o216b2o85b
4o99b4o135bo$556bobo583b2o216b2o188b3o26b2o96bo$547bo8bobo1020b2o95bob
o$547bo9bo980b2o137bo$346b2o199bo992bo68bobo64b2o$225b2o119b2o1124bo
66bo70b2o$225b2o316b3o3b3o448b2o460b2o9bo64bo71bo61bo2bo$699bo300b2o
460b2o7b3o60b2o2bo134bobo96bo$547bo150b2o972b2ob2o94bobo$447b2o98bo
100b2o48bobo834b3o95b2o41bo95b2o$447b2o98bo99b2o886bobo97bo41bo69b2o
20bobo2b2o$542bo106bo217bo259b2o216b2o188bo2bo93bo2bo38bo2bo2b3o64bobo
18bo2bob2obo$541bobo324b2o257b2o216b2o190b2o25b2o44bo20bo2bob2o35b2obo
3bobo64bo21b2o3bob2o$541bobo323b2o667b2obo3bo20b2o43b2o20b2o3bobo35b2o
4bobo90bob2o$531b3o8bo993bo2bo2b3o64bobo19b2o5bo36bo5bo91b3o18b3o$331b
2o1203bo7bo90bob2o41bo113bo$210b2o119b2o196bo5bo779bobo219bo5bo84b2o5b
2o20b2o136bo$210b2o317bo5bo449b2o233bobo93b2o129b2o89bo3bo113b2o$529bo
5bo449b2o234b2o93bo130b2o92bo116bo7b2o27bo67b2o$1221bo444b2o28bo66b2o$
432b2o97b3o1022bo68b2o67b3o$432b2o1123b2o66b2o136b2o$527bo584b2o216b2o
224b2o201bo3b2o$526bobo211b2o370b2o216b2o217b2o74b2o132bo8b2o$517bo8bo
bo211bobo806b2o75bo3b2o127b2o7bo$517bo9bo161b3o48bo879b3o145b2o$316b2o
199bo171bo263bo676bo127b2o8b2o$195b2o119b2o372bo260bobo669bo4b3o127b2o
bo2bo3bo89bo$195b2o316b3o3b3o430b2o16b2o427bo32b2o186b2o8bo128bo3b2o3b
2o87b3o$970b2o428bo31b2o186b2obo2bo5bo18b2o107b2o3bo2b2o67bo22bo$517bo
556bo323b3o222b4o3b2o19b2o66b3o42b2o70b2o14b2o4bobo$417b2o98bo554b2o
548b2o6bo89bobo41b2o70bobo13bobo4bo$417b2o98bo555b2o551b2o70b3o13bo5bo
bo$512bo584b2o216b2o309b2o70bo15b2o5bo57bo73b2o29b2o$511bobo583b2o216b
2o217b2o163bo15b2o63b2o71b2o3bo24b2o$511bobo1020b2o106bo72b2o29b2o5b2o
24b2o78bo25bo$501b3o8bo283bo843bobo76b2o25bobo4b2o94b3o6bo$301b2o494b
2o842b2o69bo3bo4bo24bo$180b2o119b2o196bo5bo290b2o914bo3bo2b2o124bo$
180b2o317bo5bo276b2o171b2o460b2o293bo132bo6b2ob2o$499bo5bo226bo48b2o
172b2o460b2o217b2o70bo134bo8b2obobo$731b2o50bo852b2o68bobo5b2ob2obo
123b2o$402b2o97b3o227bobo971bo9bobo126b2o9bobo$402b2o1079bo222b2o10bo
137bo86b3o$497bo584b2o216b2o182b2o221bo98bo49bo$496bobo583b2o216b2o
181b2o34b2o196b3o86bo40b3o97b2o$487bo8bobo1020b2o217b2o66bo39bo2bo92b
7obo$487bo9bo1211b2o27b2o70bo35bo2bo91bo$286b2o199bo1220bob2o97b4o34b
2o16bo73b2o10bo$165b2o119b2o592bo827bo2bo91b6o3bo50bobo59b3o11b2o4bo$
165b2o316b3o3b3o386bobo59b2o460b2o305b2o14bobo74bob2ob2o2b3o50b2o59bo
19b2o3bo$879b2o59b2o460b2o217b2o103b2o60b2o11b2ob2ob2obobo113bo13b2ob
2o2b2o$487bo1133b2o103bo60b2o13bo2bo3b4o27b2o98b2ob2o28b2o$387b2o98bo
840bo460bo12b2ob2o3bo29b2o100bo30bobo$387b2o98bo745bo95bo473bobo30bo
104bo31bo57bobo$482bo340b3o241b2o165bo50b2o40b3o474bo30b2o102b6o85bo2b
o$481bobo289b2o48bo243b2o163b3o50b2o217b2o329bobo55b2o39b5o6bo84bo3bo$
481bobo289bobo48bo679b2o217b2o77b2o89b3o38bo6b2o2bo84bo2bo$471b3o8bo
290bo795bo153b2o72b2ob2o2b4o84bo2bo38b2obo2bo2b2o$271b2o1294bobo226b2o
2b2o2b4o85b3o131bo4bo$150b2o119b2o196bo5bo1092b2o227bobob2o90b2o41bo3b
o85bobo2b2o$150b2o317bo5bo449b2o460b2o409b2obo87bo4bo42bo3bo89b2o2bo$
469bo5bo449b2o460b2o217b2o191b4o85bobo3bobo37bo4bobo84bo2bob2ob3o$
1606b2o192bobo22b2o61bobo3bo2bo35bobo4bo7bobo75b4ob2o2b2o$372b2o97b3o
489bobo830bo4bobo7bo13b2o67bob2o35bo2bo12b2o75bo2b2o4b2o$372b2o590b2o
829bobo4bo9bo75b4o2bo2bo36b2o13bo77bobo5b2o$467bo496bo87b2o216b2o138bo
384bo2bo11b3o75bo2bo2b2obo130b2o$466bobo583b2o216b2o139b2o76b2o305b2o
91bo3b3obo130b3obo3bo$457bo8bobo562bo378b2o77b2o217b2o180b2ob2o2bo117b
2o19bo$457bo9bo563bobo674b2o181bo2bob3o28b2o85b2o8bo9b2o$256b2o199bo
408bo164b2o844b2o15bob2o29b2o87bo4b2ob2o$135b2o119b2o607b2o1010bo2bo5b
o9bo124b2o40bo$135b2o316b3o3b3o353b2o48bobo42b2o460b2o503bo6b3o8bo126b
o3b2obo32b2o$814b2o94b2o460b2o217b2o59bobo224bo3b2obo3b2o127b2o2bo2bo
35bobo$457bo351bo6bo774b2o60b2o155b2o74b3o35b3o92b2o3bobo3b2o86b3o$
357b2o98bo349bobo843bo156b2o68bo4b4o3bo31bo95bo8b2o88b2o$357b2o98bo
350b2o1071b3o8bo32bo55bo46b3o85b2ob2o$452bo584b2o216b2o631bo2b2o86bob
2o33b3o8b2o5bo80bo2bo$451bobo583b2o216b2o217b2o415bo86bo2bo32b2o2bo7bo
bo6bo79bob2o$451bobo1020b2o217b2o182bob2o8bo5bo81bo2bo34b6o5b3o4b3o79b
o2bo2b2o$441b3o8bo1240b2o182bo2bo7bobo5b2o14b2o64b2o36bo2bo2bo91b2obo
3b2o$241b2o1253bo380b3o9bo5b2o15b2o63bobo3bo35bo2bo92bobo2bo2bo$120b2o
119b2o196bo5bo1048bobo384b3o5bo87b3o3b2o37bo99b2o$120b2o317bo5bo449b2o
460b2o136b2o385b3o92bo6bo133b2o2bo$439bo5bo449b2o460b2o217b2o306bo95bo
b3o133b2ob2o$1576b2o217b2o182bo4bo134bobo$342b2o97b3o463b2o886b2o184bo
bo30b2o91b2o11bo$342b2o546bobo14bobo828bo242b3o30b2o90b2obo$437bo418b
3o32b2o14bo114b2o715bo229b2o133b2obob2o5bo$436bobo417bo34bo130b2o435b
2o276b3o229bobo130b2ob4obo4b2o$427bo8bobo418bo601b2o217b2o287bo3bo6bo
122bo7bo2b3o2bo$427bo9bo901bo338b2o217b2o65b2ob2obobo4bobo123bo3bo2b3o
bob2o33b3o$226b2o199bo912b2o555b2o65b2o2bo2bobo2bo126bo3bo2bo2bo2b3o
32bo53bo$105b2o119b2o1111b3o621bob4o3b3obob2o34b2o88bo2bo7bo2b2o32bo
52bo$105b2o316b3o3b3o448b2o459b3o623b2o7bobo2bo31b2o88bo3bo2bo8b2o84b
2o$880b2o460b2o217b2o403bobo3bo8bo33bo50b3o35bo3b4o$1561b2o16bobo198b
2o184b3o3bo5bo2b2obo120bo4bo3bo91b3o$327b2o1251b2o198b2o184b3o2b2obo
24b2o68bo36bo3b2ob2o88b2o$327b2o1251bo388b2o6bo21b2o64bo3bo37bob3o90bo
bo$422bo584b2o960b2o2b4o88bo3bo38bo93bob2obo$421bobo583b2o435b2o515bo
7b3ob2o89b2o137b5o$421bobo33bo518bo467b2o217b2o297bo101bobo2bo134bobo$
411b3o8bo33b2o491b2o26bo685b2o157bo59b2o76b3o104b3o$211b2o243bobo440bo
48b2o25b3o845b2o57b2o181bo35b2o$90b2o119b2o196bo5bo482b2o50bo472bo398b
2o241bo35b2o88b3o$90b2o317bo5bo449b2o31bobo520bobo539b2o89bo148b2o$
409bo5bo449b2o122bobo430b2o122b2o415b2o89bo140b2o6bobo$989b2o555b2o
217b2o287bo10b2o32bo89bo4b2obo6bobo$312b2o676bo774b2o217b2o71b2o6bobo
32bo87bobo4bobo10b2o$312b2o1646b2o22b2o65bo5bobo6bobobo28bo89bo6bob2o
5b2obo$407bo584b2o671bo296bo87bobo4bobo7b2obo121bo4bo2bo6bo33b2o$406bo
bo583b2o435b2o235bo293b2o89bo6bob2o6b3o121bo5b3o39b2o$397bo8bobo410bob
o607b2o217b2o14b3o392bo2bo40b2o87bo6bo42bo$397bo9bo412b2o826b2o217b2o
184b3o4b3o40bobo$196b2o199bo422bo1046b2o217b2o15bo90b3o$75b2o119b2o
1847bo11bo28b2o65b3o$75b2o316b3o3b3o448b2o1194b2o9bo94bobo$498b2o350b
2o679b2o375bo136b2o10bo94bo3bo$498bobo1030b2o217b2o154bobo244b3o$297b
2o199bo441b2o564bobo241b2o155b2o60b2o215b2o$297b2o641bobo564b2o460b2o
182bo31b3o$392bo547bo36b2o528bo540bo107bo23b4o4bo$391bobo583b2o1069b2o
104bobo23bob2o3bo$391bobo1239b2o407b2o3bo2bo89b3o10bo26b2obo3bo$381b3o
8bo510bo729b2o217b2o188bob6o103b2o26bobob2o$181b2o721bo844bo102b2o189b
o3b2o22b2o82bo26b3o$60b2o119b2o196bo5bo516b3o845b2o291bo3bo23b2o65bo
10bob2obo28bo4bo93b3o$60b2o317bo5bo449b2o912b2o293b3o90bobo6b2o6bo32bo
bo92bo$379bo5bo449b2o679b2o532bo87bo6bo8bo33bo94bo$1516b2o217b2o312bob
o92b2obo7bo$282b2o1451b2o217b2o94bo80bo11b2o8bob2o$282b2o1670b2o173bob
o12b2o3b2o3b2o17b2o18bo$377bo584b2o1027bobo136b2o16bo24b2o17b2o$376bob
o161b2o420b2o628bo399b2o154bo43bobo$367bo8bobo160b2o1052bo24b2o372bo$
367bo9bo163bo440b2o607b3o24b2o217b2o401b3o$166b2o199bo613b2o854b2o217b
2o182b3o$45b2o119b2o815bo1072b2o181bobobo$45b2o316b3o3b3o1867bobob2o$
2130bo5bo91bo11b2obo$1720b2o113bo293bo2bo3b2o90bo11b2o$267b2o1451b2o
111bobo103b2o189bo2bobo2bo89bo8bo87bo$267b2o1565b2o103b2o196bo20b2o77b
2o85b2o$362bo584b2o1183b2o24b2o65bo8bo4bo84bobo$361bobo583b2o1275bobo
6bobobo3b2o$361bobo1239b2o530bo2bo75bobo8bo8bo2bo3bobo$351b3o8bo1240b
2o217b2o253bo58bobo76b2o16bo9bo$151b2o1669b2o217b2o35bo58bo77bo17b3o3b
4o$30b2o119b2o196bo5bo1320bo364b2o33b3o154b3o4bo$30b2o317bo5bo225b3o
1093b2o$349bo5bo225bo1094b2o$582bo440b3o679b2o574b3o$252b2o769bo681b2o
217b2o355bo$252b2o770bo899b2o217b2o137bo$347bo584b2o1209b2o$346bobo
583b2o984bobo$337bo8bobo1570b2o296bo6bo$337bo9bo1459b2o110bo296bobo5b
2o140b2o$136b2o199bo1469b2o217b2o189b2o5b2o140bobo$15b2o119b2o1888b2o
194bobo141bo$15b2o316b3o3b3o1879bo2bo$2161bo60bobo$914bo775b2o470b2o
59bo$237b2o676b2o773b2o70bo146b2o250b2o55b2o$237b2o385bo289b3o843bobo
146b2o217b2o$332bo290b2o291b3o842b2o365b2o$331bobo289bobo291b2o147bo
1257bo$331bobo731b2o1256b2o$321b3o8bo732bobo724b2o529bobo$121b2o1669b
2o210bo6b2o$2o119b2o196bo5bo1679bo5b2o$2o317bo5bo1677b3o$319bo5bo$
2408b2o$222b2o1670b2o511b2o$222b2o1670b2o217b2o294bo$317bo1795b2o132bo
$316bobo1926bobo$307bo8bobo1526bobo398b2o$307bo9bo1459b2o67b2o$106b2o
199bo357b2o1110b2o67bo149b2o$106b2o557bobo1328b2o$303b3o3b3o353bo441b
2o1256b2o$1107bobo1255bobo$1107bo980bo276bo$207b2o1670b2o208b2o$207b2o
1670b2o207b2o8b2o$302bo1795b2o$301bobo$301bobo2145b3o$291b3o8bo2146bo$
91b2o1888b2o467bo$91b2o196bo5bo1635bo49b2o$289bo5bo1636bo$289bo5bo
1634b3o2$192b2o513b2o1155b2o$192b2o512b2o1156b2o217b2o$287bo420bo440b
2o932b2o322b2o$286bobo859b2o1024bo231b2o$286bobo861bo1021bobo233bo$
287bo1885b2o$76b2o199b3o1686b2o$76b2o1888b2o$275bo2216bo$275bo2215b2o$
275bo5b3o2207bobo$177b2o1836bo$177b2o100bo1736b2o50b2o$272bo6bo1735b2o
51b2o$271bobo5bo26b3o$271bobo32bo$263bo8bo34bo440b3o$61b2o200bo484bo
1202b2o$61b2o200bo485bo440b3o758b2o304bobo188b3o$1190bo1067b2o188bo$
259b3o5bo923bo1066bo190bo$267bo$162b2o103bo$162b2o1889b2o$257bo5b3o
1787b2o478b2o$256bobo2274bobo$256bobo1842bo431bo$257bo1841bobo$46b2o
199b3o1850b2o$46b2o301bo$245bo102b2o$245bo102bobo440bo$245bo5b3o536b2o
$147b2o641bobo440bo1257bo$147b2o100bo982b2o804b2o450b2o$242bo6bo982bob
o803b2o450bobo$241bobo5bo$241bobo$233bo8bo$31b2o200bo$31b2o200bo2341b
2o$2184bobo387b2o$229b3o5bo1947b2o389bo$237bo1947bo$132b2o103bo$132b2o
256b2o$227bo5b3o154bobo$226bobo161bo441b2o$226bobo603bobo$227bo604bo
441b2o1256b2o$16b2o199b3o1054bobo1255bobo$16b2o1256bo1257bo$215bo$215b
o$215bo5b3o$117b2o2151bo$117b2o100bo2051bo344b3o$212bo6bo2049b3o344bo$
211bobo5bo2397bo$211bobo$203bo8bo$b2o200bo228b2o$b2o200bo227b2o$433bo
440b2o$199b3o5bo665b2o1236bobo$207bo667bo440b2o794b2o460b2o$207bo1107b
2o795bo460b2o$1317bo1257bo$197bo5b3o$105b2o89bobo$104bobo89bobo$106bo
90bo2461bo$187b3o2468b2o$2658bobo$185bo$185bo$185bo5b3o$473b3o$189bo
283bo1723bo$182bo6bo284bo440b3o1280bo$181bobo5bo725bo1280b3o$181bobo
732bo440b3o1255b3o$173bo8bo1174bo1257bo$173bo1184bo1257bo$173bo$93b2o$
94b2o73b3o$93bo2606b2o$2700bobo$2700bo$167bo5b3o$166bobo2579b2o$166bob
o347bo2229b2o2bo$167bo347b2o1764bo464b2ob2o$157b3o355bobo440bo1323b2o
464bo$957b2o1322b2o451b3o$155bo801bobo440bo1257bo$155bo1243b2o1256b2o
83bobo$155bo1243bobo1255bobo72bo8bob3o$2731bobo8bo6bo$159bo2572bo7b2o
3bo3bo$81b3o68bo6bo56b2o1906bo616bobo2b2obo$83bo67bobo5bo6bo48b2o1908b
o613bobo6bo$82bo68bobo11b2o50bo1905b3o614bo$143bo8bo12bobo$143bo$143bo
2646bo$2789b2o$139b3o415b2o2230bobo$557bobo$557bo441b2o$145b2o852bobo
1722bo4b2o$137bo6bobo852bo441b2o1256b2o22bobo5bo$136bobo5b2o1295bobo
1255bobo22b2o2bo2bo$136bobo1302bo1257bo30b2o$137bo2590bobo$70bo56b3o
2078bo517b4o$70b2o185b3o1949b2o514bob2o$69bobo53bo81b2o48bo1950b2o515b
3obobo$125bo81bobo48bo$125bo81bo2523bo2$130b2o2584b2o16b2o95b2o$122bo
6bobo2584b2o113bobo$121bobo5b2o468b2o2230bo$121bobo474b2o$113bo8bo477b
o440b2o1835b3o$113bo926b2o1820b3o13bo$113bo928bo440b2o1256b2o125b2obo
7bo$1482b2o1256b2o28bo97b5ob2o$109b3o1372bo1257bo9bo17bo89bo7bo2bob2o$
2294bo458b2o15bo18bo69bobo6bob3o$58b2o240bo1991bobo457b2o34b2o70bo5b3o
3bob2o$57bobo55b2o182b2o1992b2o406b2o64b2o5b2o2b3o7bobo74b4obobobo$59b
o47bo6bobo132b2o48bobo2399b2o63bobo5b2o2bo85bo3bob2obo$106bobo5b2o132b
2o2517bob2o3bobo87bob2obo$106bobo141bo2518b3obo2bo88bo$107bo2662b2o2b
2o$97b3o2669bo85b2o$2135bo719b3o$95bo544b3o1493b2o625bo86b3o3b2o$95bo
544bo1494b2o625b3o84bob2obo3bo62bo$95bo545bo440b3o1676bob3o83bo3b3o2bo
61b2o27bo$1082bo1677bob3o84bo70bobo26bo$100b2o981bo440b3o1159b2o71b2o
2bo86bo2bo2bo92bo7bo$92bo6bobo1422bo1161b2o71b2obo88bo5b2o94bo4bo9b2o$
91bobo5b2o1424bo1233bo97bob2o4bobo85bob4o8b2o$91bobo2663b2o3bo2b3o62b
2o29bo2bo2bo77b3o6b4o11bo$46b2o35bo8bo248b2o2414b2o3b3o2b2o61bobo25bo
3bobo2bo78b2obo$47b2o34bo257bobo2413b2ob2ob3o3bo60bo28bo3bob2o80bobo3b
2o$46bo36bo206b3o48bo2415bo11b2o83bo4bo4bo82b3o3b2o$290bo2466b2o3b3o4b
3o81bobo8bo$79b3o209bo2464bo10bobo82bo2bo5b3o$2757b2obobo90bobo$2221bo
535b4o83b2o95b3o$85b2o596bo1535bobo449b2o171b2o95b3o$77bo6bobo595b2o
1536b2o449b2o267bo2bo$76bobo5b2o596bobo440bo1813b4o$76bobo1045b2o1813b
o$77bo1046bobo440bo1214bo94bo62bo$67b3o1496b2o1215bo94b2o60bo4bo$1566b
obo1212b3o93b2o56b3obo3b4o62b3o$65bo2871bob2obo3b2o61bo$65bo2806b2o27b
ob2o32bo9b2o61bo$34b3o28bo317b2o2486b2o27b2ob2o31b3ob2o3bob3o$36bo296b
o48b2o2445b2o42bo24bo5bo30bo3b2ob5obo$35bo34b2o260b2o50bo2271b2o171b2o
67b6o2b2o12bo15bo2bo3b2ob2o$62bo6bobo260bobo2321b2o239bo3bob2o2b2o10b
2o16b2o$61bobo5b2o2826bo2bob3o2bo11bobo$61bobo2240bobo591b2o6bo$53bo8b
o2242b2o598bo24b2o$53bo670b2o1579bo596bo2bo24b2o$53bo670bobo2176bo57bo
$724bo441b2o1566bo156bo67bobo$49b3o1114bobo1565bobo153bobo67b2o$1166bo
441b2o1124b2o155bo$1608bobo1203b2o74b2o160bo$55b2o1551bo539bo492b2o
171b2o235b2o$47bo6bobo2089bobo492b2o243bo2bo161bobo$23bo22bobo5b2o
2091b2o738bobo94bo$23b2o21bobo375b3o2459b2ob2o92b3o$22bobo22bo326b2o
48bo2465bo24b2o65bob3o$37b3o334bobo48bo2465bo23b2o44b2o19b2o2b2o$374bo
2513bo2bo2b3o64bobo23b2o$35bo2851b2obo3bobo64bo16b2o6b2o$35bo2852b2o4b
obo81b2o6bo$35bo2853bo5bo83bo28b3o$766b2o2031b2o93bo113bo$40b2o723b2o
1859b2o171b2o208bo$32bo6bobo725bo440b2o1416b2o348bo$31bobo5b2o1166b2o
1700bo66bo$31bobo1175bo440b2o1258bo65bo3bo$23b2o7bo1616b2o580bobo666b
2o6b3o67bo2bo111b2o$23bobo1625bo580b2o666b2o76bo3bo110bobo$2232bo738b
2o5bo2bo111bo$20b4o443bo2502bo2bo5bobo$20b2o7bo436b2o2502bo9b3o$29bo
386b2o48bobo2324bo180b2o4bo2bo$22b2obo4bo384b2o2367b2o8b2o175b5o5bobo$
22b2obo2bobo386bo2193b2o171b2o7b2o181b2o3b2o$17bo5bo3b2o2582b2o364b2o$
16bobo5b5o2943bo3b2o73bo$16bobo8bo2945bo76b2o$17bo789b3o2181bo58bobo$
807bo2184b2o$808bo440b3o1739b2o$1249bo1067bo$1250bo440b3o624bo$1691bo
624b3o816b2o$1692bo1076b2o363b2o$2596b2o171b2o365bo$508b2o2086b2o94bob
o$508bobo2181b2o$457b3o48bo2184bo$63b2o392bo$63bobo392bo1699bobo$63bo
2095b2o$2159bo932b2o$850bo2241bobo$849b2o2241bo$849bobo440bo1461b2o$
1291b2o1288b2o171b2o$1291bobo440bo846b2o$1733b2o$1733bobo1440b3o$3176b
o$3177bo$550b2o$500bo48b2o2369bo$499b2o50bo1692bo676b2o$105b2o392bobo
1743bo674b2o$104b2o2137b3o493b2o$106bo2459b2o171b2o$2566b2o566b2o$891b
2o2240b2o$891bobo1912bo328bo$891bo441b2o1469bobo$1333bobo1469b2o$1333b
o441b2o$1775bobo1441bo$1775bo1442b2o$3004bo213bobo$2724b2o276bobo$591b
3o1957b2o171b2o277b2o$541b2o48bo1736bo222b2o$541bobo48bo1736b2o$146b3o
392bo1786b2o$146bo$147bo2503bo$2650bo524b3o$933b2o1715b3o522bo$932b2o
2242bo$934bo440b2o794bo$1374b2o796bo536b2o$1376bo440b2o351b3o363b2o
171b2o$1816b2o718b2o722b2o$1818bo1441bobo$3260bo$634bo$633b2o$583b2o
48bobo$189bo392b2o$188b2o394bo$188bobo$2694b2o522bo$2521b2o171b2o521b
2o$974b3o1544b2o410bo283bobo$974bo1280bo675bobo$975bo440b3o837b2o674b
2o$1416bo838b2o$1417bo440b3o$1858bo1443b2o$1859bo1441b2o$2816bobo484bo
$675b2o2140b2o$675bobo2001b2o136bo$624b3o48bo1830b2o171b2o$230b2o392bo
1881b2o$230bobo392bo$230bo2783bobo$3015b2o242b2o$1017bo1997bo243bobo$
1016b2o1323bo917bo$1016bobo440bo879bobo$1458b2o880b2o$1458bobo440bo$
1900b2o708bo53b2o$1900bobo588b2o115b2o54b2o677b3o$2491b2o116b2o732bo$
3344bo$717b2o1463bo$667bo48b2o1465b2o$666b2o50bo1463b2o$272b2o392bobo$
271b2o$273bo$3301b2o$1058b2o1589b2o649b2o$1058bobo1415b2o171b2o651bo$
1058bo441b2o974b2o$1500bobo$1500bo441b2o$1942bobo1441bo$1942bo1442b2o$
2943bobo439bobo$2268bo675b2o$758b3o1505bobo675bo$708b2o48bo1508b2o$
708bobo48bo1874b2o$313b3o392bo1752b2o171b2o$313bo2147b2o366bo$314bo
2515bo$2828b3o511b3o$1100b2o2240bo$1099b2o2242bo$1101bo440b2o$1541b2o
1484bo$1543bo440b2o1042bo$1983b2o1041b3o398b2o$1985bo633b2o806bobo$
2351bobo92b2o171b2o806bo$801bo1550b2o92b2o$800b2o1550bo$750b2o48bobo$
356bo392b2o1816bo$355b2o394bo1815bobo$355bobo2209b2o$3385bo$2195bo
1188b2o$1141b3o1049bobo1188bobo$1141bo1052b2o408b2o$1142bo440b3o845b2o
171b2o$1583bo847b2o$1584bo440b3o$2025bo1443b2o$2026bo1441b2o$3470bo$
842b2o$842bobo$791b3o48bo$397b2o392bo$397bobo392bo1796b2o365bo$397bo
2018b2o171b2o366bo$2278bobo135b2o537b3o468b2o$1184bo1094b2o1145bobo$
1183b2o1094bo1146bo$1183bobo440bo$1625b2o$1625bobo440bo771bo$2067b2o
772b2o$2067bobo770b2o668b3o$3510bo$2574b2o935bo$884b2o1515b2o171b2o$
834bo48b2o1516b2o635bo$833b2o50bo2153b2o$439b2o392bobo2202b2o$438b2o
1924bo$440bo1924bo$2363b3o1102b2o$1225b2o2240b2o$1225bobo2241bo$1225bo
441b2o856bobo$1667bobo855b2o32b2o$1667bo441b2o275b2o138bo32b2o$2109bob
o274b2o1165bo$2109bo95bobo1344b2o$2206b2o1344bobo$2206bo$925b3o$875b2o
48bo$875bobo48bo$480b3o392bo$480bo$481bo2062b2o$2371b2o171b2o963b3o$
1267b2o1102b2o1136bo$1266b2o2242bo$1268bo440b2o$1708b2o1257bo$1710bo
440b2o138bo676b2o$2150b2o140bo674b2o625b2o$2152bo137b3o1301bobo$3594bo
$968bo$967b2o1560b2o$917b2o48bobo1386b2o171b2o322bo$523bo392b2o1438b2o
493bobo$522b2o394bo1933b2o$522bobo$3552bo$3551b2o$1308b3o1740bo499bobo
$1308bo1740bobo$1309bo440b3o1297b2o$1750bo624bo$1751bo440b3o181b2o136b
2o$2192bo148b2o32b2o137b2o1120b2o$2193bo147b2o1292b2o$2484bo1152bo$
1009b2o1472bo$1009bobo1471b3o$958b3o48bo$564b2o392bo1259bo$564bobo392b
o1259bo$564bo1652b3o$3593b2o$1351bo1147b2o1092bobo$1350b2o974b2o171b2o
1092bo$1350bobo440bo532b2o$1792b2o$1792bobo440bo$2234b2o$2234bobo1440b
3o$3677bo53bo$3678bo52bo$1051b2o2678b2o$1001bo48b2o1928bo$1000b2o50bo
1249bo181b2o492bobo751b3o$606b2o392bobo1300b2o6b2o171b2o493b2o748b2o$
605b2o1695b2o7b2o1415bobo$607bo3120bob2obo$3635b2o92b5o$1392b2o2240b2o
94bobo$1392bobo1468bobo770bo$1392bo441b2o1028b2o$1834bobo1027bo852b3o$
1834bo441b2o1451b2o$2276bobo1442b2o6bobo$2276bo192b2o1244bo4b2obo6bobo
$2296b2o171b2o590bobo650bobo4bobo10b2o$2296b2o764b2o651bo6bob2o5b2obo$
1092b3o1967bo655bo4bo2bo6bo33b2o$1042b2o48bo1295bo1329bo5b3o39b2o$
1042bobo48bo1292bobo1329bo6bo42bo$647b3o392bo1344b2o$647bo3072b3o$648b
o1794bo$2441b2o1233b3o$1434b2o1006b2o1232bo$1433b2o1019b2o1221bo$1435b
o440b2o351bo51b2o171b2o1256b2o$1875b2o353b2o49b2o1428b3o$1877bo351b2o
87b2o1386b4o4bo$2317b2o1387bob2o3bo$2319bo1386b2obo3bo$3707bobob2o$
1135bo2572b3o$1134b2o2573bo4bo93b3o$1084b2o48bobo2576bobo92bo$690bo
392b2o2629bo94bo$689b2o394bo1353b2o$689bobo1574b2o171b2o$2266b2o1431b
2o18bo$3699b2o17b2o$1475b3o1512bobo725bobo$1475bo839bo675b2o$1476bo
440b3o393bobo675bo774b2o$1917bo396b2o1449bo2bo$1918bo440b3o1402b2obo$
2359bo1393bo10bo2bo$2360bo515bo876bo9b2o$2424b2o451bo875bo9b2obo113bo$
1176b2o1073b2o171b2o449b3o881b2o3b2o85bo28bo$1176bobo1072b2o1431b2o64b
o10bobob2o83b2o23bob2o3bo$1125b3o48bo2507b2o63bobo8bobob3o83bobo25bo3b
3o$731b2o392bo2624bo6bo3b3obobo107bob2ob2ob2o$731bobo392bo1947bo665bob
o15b2obo3bobo108bo2bobo3bo12b2o$731bo2343bo665b2o14b3obo4bo110bo3bob2o
12b2o$3073b3o665bo134bo6b2o14bo$1518bo2358bo3b2o$1517b2o879bobo1479b2o
$1517bobo440bo438b2o$1959b2o438bo9b2o1396b3o58b2o$1959bobo447b2o1396bo
60b2o$2400bo1268b2o137bo60bo$2400bobo1266b2o194bobo$2400b2o1340bo4b2o
115bo4bo$3741bobo3b2o115bo3bo$1218b2o2522b2o4bo$1168bo48b2o2527b3o116b
3o94bo$1167b2o50bo2528bo116b2o94b3o$773b2o392bobo2575bo121bobo90b5o$
772b2o2968b2ob2obo118bo71b3o22b2o$774bo1619b2o1348bo121bob2o2b3o64bo
16b2o5b2o$2394b2o1352bobo115bob2o3bo66bo15bo$1559b2o2093b2o211b6o114b
2o$1559bobo2092b2o93bo3bo116b3o84bobo27bobo$1559bo441b2o1750bo96bo107b
o28bo$2001bobo1748bo96b2o103bo$2001bo1847bobo6b2o27bo66bo$3858b2o25bob
o66bo$3003bo882b2o$3004bo951b5o$2325bobo674b3o944b2o5bo$1259b3o1064b2o
51b2o1569bo6b2o2bo$1209b2o48bo1066bo52b2o1390bo176b3o10bo$1209bobo48bo
2378b2o128bobo180bo6bo$814b3o392bo2429b2o129b2o179b3o5b3o$814bo2072bo
1062b2o2bo$815bo2072b2o1020b2obobo34b2o2b2o$2887b2o954b2o105bob3o$
1601b2o2240b2o65bo6bo33b3o75b2o$1600b2o2311b2o53bobo57b2o$1602bo440b2o
1846b2o19b2o55b2o59bo$2042b2o1041bo805bobo11b3o61bo$2044bo319b2o720b2o
803bo13b3o36b2o$2364b2o719b2o819b2o36b2o$3624b2o279b3o3b2o25b3o$3624b
2o86bo190bo7b2o25bo$1302bo2408bo193b2obo30bo58bo$1301b2o2408b3o187bo3b
o2b4o83bo4bo$1251b2o48bobo2524b2o70bo9b4o81bo4bo$857bo392b2o2576b2o69b
o3bo3b3o2b2o82bo$856b2o394bo2645b2o2bo3bo$856bobo3040b2o6bo2bob2o84bo$
3992b3o3b4o$2349b2o1558b3o17b2o61b3o4b3o$1642b3o704b2o1551bo26b2o60b3o
6bobo67b3o$1642bo1966b2o290bo89b3o4b3o69bo$1643bo440b3o1522b2o289bobo
88b3o4b4obo67bo$2084bo1815bo2bo13bo74b2o6bo2bo$2085bo1815b2o15b2o73b2o
6b2o$3813b2o102b2o62bo12b2o5b2o$3813b2o165b2o8bo4bo$3980bobo5b2obo$
1343b2o2643bo$1343bobo2647bo34b2o$1292b3o48bo2570b2o69b2ob3o2bo33b2o$
898b2o392bo2621b2o69bo3b5ob3o31bo$898bobo392bo1720bo579b2o391b2o6b3o$
898bo2116b2o577b2o390bo7bo2bo$3014b2o967bobo$1685bo2295b4o128bo$1684b
2o2095bobo14b2o180bob2o9bo7bo110b2o$1684bobo440bo1654b2o14b2o180bo11bo
bo4bobo110bobo$2126b2o1654bo198bo4b2o5bo6b2o$2126bobo771bo1086b2o$
2898bobo1087bo$2899b2o2$3579b2o$1385b2o2192b2o$1335bo48b2o1712bo970b3o
$1334b2o50bo1709bobo970bo$940b2o392bobo1760b2o684b2o285bo$939b2o2842b
2o$941bo2729bo$3669b2o$1726b2o1942b2o482b2o$1726bobo2425bobo$1726bo
441b2o1984bo$2168bobo1393b2o$2168bo1395b2o3$3768b2o$3768b2o$1426b3o
2683bo$1376b2o48bo2503bo180b2o$1376bobo48bo2500bobo180bobo$981b3o392bo
2552b2o$981bo$982bo2566b2o$3549b2o$1768b2o2426b2o$1767b2o2426b2o$1769b
o440b2o1541b2o442bo$2209b2o816bo725b2o$2211bo813bobo$3026b2o$3794bo$
3795bo215bobo$1469bo2323b3o216b2o$1468b2o2064b2o476bo140b2o$1418b2o48b
obo1439bobo621b2o617bobo$1024bo392b2o1492b2o1240bo$1023b2o394bo1491bo$
1023bobo2712b2o$3738b2o2$1809b3o1296bobo1126b3o$1809bo1299b2o1126bo$
1810bo440b3o855bo1128bo$2251bo$2252bo1266b2o107bo$3519b2o107bobo$3628b
2o2$1510b2o2211b2o$1510bobo2210b2o470b2o$1459b3o48bo2683b2o$1065b2o
392bo2736bo$1065bobo392bo$1065bo2$1852bo1651b2o774bo$1851b2o1651b2o
434bobo336b2o$1851bobo440bo1646b2o336bobo$2293b2o1646bo$2293bobo1412b
2o$3708b2o4$1552b2o$1502bo48b2o1484bobo1196b3o$1501b2o50bo1484b2o449b
2o745bo$1107b2o392bobo1534bo450b2o746bo$1106b2o2697bo218bo$1108bo2697b
2o217bo$3693b2o110b2o216b3o$1893b2o1028bo769b2o626b2o$1893bobo1028bo
1396bobo$1893bo441b2o585b3o1396bo$2335bobo$2335bo2$3121bo352b2o$3122bo
351b2o$3120b3o$1593b3o2683bo$1543b2o48bo2084b2o598b2o$1543bobo48bo
1991bobo89b2o598bobo$1148b3o392bo2042b2o$1148bo2438bo$1149bo2$1935b2o
2426b2o$1934b2o1523b2o901b2o$1936bo440b2o1080b2o903bo$2376b2o$2378bo$
3663b2o$3663b2o288bo$3954bo$1636bo2315b3o$1635b2o2683b2o$1585b2o48bobo
2682bobo$1191bo392b2o2734bo$1190b2o394bo1857b2o$1190bobo2251b2o2$3050b
o$1976b3o1072bo596b2o754b3o$1976bo1072b3o596b2o754bo$1977bo440b3o1984b
o$2418bo1399bo216bo$2419bo1396bobo217b2o$3817b2o216b2o$2934bo$2935b2o
492b2o$1677b2o1255b2o493b2o$1677bobo2682b2o$1626b3o48bo2683b2o$1232b2o
392bo2006b2o728bo$1232bobo392bo1504bo500b2o$1232bo1900b2o$3132b2o$
2019bo2427bo$2018b2o1525bo900b2o$2018bobo440bo1082bo901bobo$2460b2o
952b2o128b3o$2460bobo951b2o3$3618b2o$3618b2o$1719b2o$1669bo48b2o2683b
3o$1668b2o50bo2682bo$1274b2o392bobo2733bo$1273b2o2689bo$1275bo2123b2o
564b2o$3399b2o563b2o$2060b2o2426b2o$2060bobo2425bobo$2060bo441b2o1099b
2o883bo$2502bobo1098b2o$2502bo2$3061bo$3062b2o$3061b2o$1760b3o1621b2o
1060bo$1710b2o48bo1623b2o442bobo217bo396b2o$1710bobo48bo2067b2o215bobo
396bobo$1315b3o392bo2118bo217b2o$1315bo1631bo640b2o$1316bo1628bobo640b
2o$2946b2o$2102b2o2426b2o$2101b2o2426b2o$2103bo440b2o1985bo$2543b2o
600bo$2545bo597bobo223b2o$3144b2o223b2o2$3504bo$1803bo1698b2o69b2o$
1802b2o1699b2o68b2o912b2o$1752b2o48bobo2682bobo$1358bo392b2o2734bo$
1357b2o394bo$1357bobo2$3354b2o$2143b3o1208b2o1215b3o$2143bo2427bo$
2144bo440b3o1984bo$2585bo972b2o417bo$2586bo971b2o415bobo$3976b2o3$
1844b2o$1844bobo2682b2o$1793b3o48bo1494b2o1187b2o$1399b2o392bo1545b2o
1189bo$1399bobo392bo1279bo$1399bo1672bobo$3073b2o468b2o$2186bo1356b2o
296bo772bo$2185b2o1655bo215bobo552b2o$2185bobo440bo1211b3o216b2o552bob
o$2627b2o1430bo$2627bobo327bobo$2958b2o$2958bo365b2o$3324b2o2$1886b2o$
1836bo48b2o1268bobo370b2o1040b3o$1835b2o50bo1268b2o370b2o1040bo$1441b
2o392bobo1318bo1414bo$1440b2o$1442bo2018bo$3461bobo$2227b2o1232b2o
1192b2o$2227bobo1079b2o1344bobo$2227bo441b2o638b2o1344bo$2669bobo$
2669bo$3513b2o$3513b2o3$1927b3o2683bo$1877b2o48bo2059bobo622b2o$1877bo
bo48bo2059b2o622bobo$1482b3o392bo1416b2o692bo$1482bo1811b2o$1483bo2$
2269b2o1227b2o1197b2o$2268b2o1228b2o1196b2o$2270bo440b2o1985bo$2710b2o
372bobo$2712bo372b2o$3085bo$3852bo218bo$3279b2o572b2o217bo$1970bo1308b
2o571b2o216b3o$1969b2o999bo1683b2o$1919b2o48bobo999bo1682bobo$1525bo
392b2o1049b3o511b2o1169bo$1524b2o394bo1562b2o$1524bobo2$3168bo$2310b3o
856bo1568b3o$2310bo856b3o1568bo$2311bo440b3o509b2o1473bo$2752bo511b2o$
2753bo665bobo$3419b2o$3420bo47b2o$3468b2o$2011b2o$2011bobo2682b2o$
1960b3o48bo2683b2o$1566b2o392bo2736bo$1566bobo392bo$1566bo1682b2o$
3249b2o$2353bo1646bo780bo$2352b2o1647bo778b2o$2352bobo440bo657b2o544b
3o778bobo$2794b2o657b2o$2794bobo5$2053b2o1042bo136b2o$2003bo48b2o1044b
o135b2o1501b3o$2002b2o50bo1041b3o1638bo$1608b2o392bobo2733bo$1607b2o
1829b2o425bo216bo$1609bo1828b2o423bobo217b2o$3864b2o216b2o$2394b2o585b
o1840b2o$2394bobo585b2o1838bobo$2394bo441b2o143b2o1839bo$2836bobo$
2836bo382b2o$3219b2o$3179bo$3180b2o$3179b2o242b2o$2094b3o1326b2o1355bo
$2044b2o48bo1283bo1400b2o$2044bobo48bo1281bo1401bobo$1649b3o392bo1332b
3o$1649bo$1650bo$3204b2o$2436b2o766b2o1658b2o$2435b2o2426b2o$2437bo
440b2o1985bo$2877b2o529b2o$2879bo528b2o2$4011bo$4012b2o$2137bo1873b2o$
2136b2o2683b2o$2086b2o48bobo1050b2o1630bobo$1692bo392b2o1102b2o1630bo$
1691b2o394bo$1691bobo$3393b2o$3108bo284b2o$2477b3o629b2o1794b3o$2477bo
630b2o1795bo$2478bo440b3o1984bo$2919bo955bobo217bo$2920bo955b2o215bobo
$3174b2o700bo217b2o$2994bo179b2o$2992bobo$2178b2o813b2o$2178bobo1197b
2o1483b2o$2127b3o48bo1199b2o1482b2o$1733b2o392bo2736bo$1733bobo392bo
1063bo$1733bo1456bobo1779b2o$3191b2o1779b3o$2520bo2427bo22bobob2o$
2519b2o638b2o176bo1609b2o25b2ob2o$2519bobo440bo196b2o174b2o1610bobo20b
2o2b4obo$2961b2o373b2o1635bobo3bo$2961bobo2009b4ob2o15b2o$3363b2o1608b
o3bo16b2o$3363b2o1610b3o18bo3$2220b2o2742b2o$2170bo48b2o2683b3o57b2o$
2169b2o50bo2682bo$1775b2o392bobo972b2o1759bo58b2o$1774b2o1368b2o878bo
935bo3b2o$1776bo2245bobo935b2o$4023b2o934bob2o4bo$2561b2o785b2o1611b2o
$2561bobo784b2o1610b3o3bo3bo$2561bo441b2o1957bo3bo$3003bobo1954bo5bo$
3003bo1956bob2ob2ob2o66b3o$4961bo3b4o67bo$3121bo1915bo$3119bobo7b2o$
3120b2o7b2o$2261b3o1624bo1058bo34bo$2211b2o48bo1627bo215bobo838b2o6b2o
24bobo$2211bobo48bo1070b2o552b3o216b2o838bobo5b2o25b2o$1816b3o392bo
1121b2o771bo$1816bo1187bobo$1817bo1187b2o$3005bo$2603b2o$2602b2o$2604b
o440b2o67b2o$3044b2o68b2o86bobo1800b3o71bo$3046bo156b2o1873b2o$3203bo
1735b2o137bobo$3318b2o1619b2o64bo3b3o$3294bo23b2o1686bo3bob2o$2304bo
989bobo1705b3o2b2obo$2303b2o989b2o1692b2o12bobo3bo4bo$2253b2o48bobo
2682bobo11bo2bo4b3o$1859bo392b2o2734bo14bobo4bo$1858b2o394bo2748b3o$
1858bobo1238b2o1894bo39b3o$3099b2o1894bo39bo$5006bo29bo$2644b3o2277b2o
71b2o2b4o2bo$2644bo658b2o1619b2o71bo2b2ob2o2bo$2645bo440b3o214b2o1692b
o8bo$3086bo947bobo961b2obo118b2o28bo$3087bo947b2o963b2o118bobo25bo4bo$
4035bo966bo117bo26b2o5bo$4996bo4bobo6bo135bo4b3ob3o$4995bobo4bo8b2o
135bo7b2o9b3o$2345b2o737b2o1909bo2bo11b2o133b2o4bo4bobo8bo$2345bobo
736b2o1910b2o147b2obo19bo$2294b3o48bo2801b2o3bo$1900b2o392bo2614b2o
241b2o$1900bobo392bo835bobo154b2o1619b2o167bo$1900bo1231b2o154b2o1787b
2o$3132bo1944bobo$2687bo1211bo218bo1022bo$2686b2o1212b2o217bo1019bobo$
2686bobo440bo769b2o216b3o1021bo$3017bo110b2o2007bo2bo$3018bo50b2o57bob
o2005bo3bo92b2o$3016b3o50b2o1910bobo151bo2b2o95bo$4981b2o152bo2b2o92bo
2bo$4894b2o86bo153bo73bo20bo2bob2o$3273b2o1619b2o240b2o3bob3o63b2o20b
2o3bobo$2387b2o826bo57b2o1860b3o3bo4bo62bobo19b2o5bo$2337bo48b2o828bo
1918bo5bobo3bo87bob2o$2336b2o50bo825b3o1918b2obo3bo3bo81b2o5b2o20b2o$
1942b2o392bobo2798b2o5b2o110b2o$1941b2o3176b2o137bo$1943bo1308bobo
1864bobo$3054b2o196b2o1865bo105b2o$2728b2o324b2o197bo1875b2o94b2o$
2728bobo2398b2o27bo$2728bo441b2o1707b2o278b2o64b2o$3170bobo85b2o1619b
2o277b2o66bo3b2o$3170bo87b2o1960b3o$5230bo$5223bo4b3o$5220b2o8bo$5220b
2obo2bo5bo$2428b3o1616bo1175b4o3b2o87b3o$2378b2o48bo610b2o1007bo1134bo
38b2o6bo89bobo$2378bobo48bo609b2o1005b3o1065b2o66bobo41b2o70b3o13bo5bo
bo$1983b3o392bo2735b2o65bo3bo40b2o70bo15b2o5bo$1983bo2880b2o157bo137b
2o19bo2bo113bo15b2o$1984bo1258b2o1619b2o155bobo136b2o15b2o5b2o56bo72b
2o29b2o$3243b2o1777b2o138bo14bo62bobo76b2o25bobo$2770b2o2407bo29bo5b2o
24b2o69bo3bo4bo24bo$2769b2o2409bo27b2o5b2o95bo3bo2b2o$2771bo372bo67b2o
1964b2o28bobo101bo$3145bo65b2o2095bo$3143b3o67bo1960b3o129bobo5b2ob2ob
o$5305bo9bobo$3912bo216bo969b2o205b2o10bo$3910bobo217b2o967b2o76b2ob2o
125bo98bo$2471bo1439b2o216b2o718b2o319bo6bo2b2o135b3o86bo$2470b2o756b
2o1619b2o319b2o6b3o225bo$2420b2o48bobo755b2o1710bo228b2o10b2o84b3o39b
2o99bo$2026bo392b2o2518bo240b3o17b2o106bob2o97b4o$2025b2o394bo2517b3o
230b3o6bo18b2o106bo2bo91b6o3bo$2025bobo3144bo2bo91bo3b3o35b2o14bobo74b
ob2ob2o2b3o$5171bo3bo92bo3bob2o50b2o60b2o11b2ob2ob2obobo$5171bo2b2o88b
3o2b2obo53bo60b2o13bo2bo3b4o$2811b3o2358b2o16bo59b2o12bobo3bo4bo113bo
12b2ob2o3bo$2811bo2272b2o105bo58bobo11bo2bo4b3o27b2o99bobo30bo$2812bo
2271b2o103b3o58bo14bobo4bo29b2o100bo30b2o$4834b2o429b3o167bobo55b2o$
3213b2o1619b2o421bo39b3o102b2o89b3o$3213b2o2042bo39bo58bo40b2ob2o2b4o
84bo2bo$5185b2o81bo29bo56b2o39b2o2b2o2b4o85b3o$5185b2o72b2o2b4o2bo84bo
2bo39bobob2o90b2o$2512b2o2745bo2b2ob2o2bo85b2o41b2obo87bo4bo$2512bobo
2744bo8bo87bo42b4o85bobo3bobo$2461b3o48bo2747b2obo136bobo85bobo3bo2bo$
2067b2o392bo2800b2o86b3o3b3o37bo4bobo7bo82bob2o$2067bobo392bo2606b2o
193bo22b2o61b3o3bobo36bobo4bo9bo75b4o2bo2bo$2067bo3001b2o187bo4bobo6bo
14b2o68b2o36bo2bo11b3o75bo2bo2b2obo$4819b2o436bobo4bo8b2o75b3o3bobo37b
2o91bo3b3obo$2854bo343b2o858bo760b2o436bo2bo11b2o76bo2b2o2bobo130b2ob
2o2bo$2853b2o343b2o859b2o1197b2o91bo5bob3o129bo2bob3o$2853bobo1202b2o
1292b3obo2bo117b2o15bob2o$5356b2o31b2o86bo2bo5bo9bo$5033bobo304bo15bob
ob2o27b2o86bo6b3o8bo$5034b2o303b4o6bo8bo120bo3b2obo3b2o$5034bo303bo2b
2o4b2o7bobo127b3o35b3o$5342b2ob2o5bo127bo4b4o3bo31bo$5054b2o216b2o69b
2o3bo3b2o33b2o92b3o8bo32bo$2554b2o599bo1898b2o216b2o69b2ob2ob4obo31b2o
100bo2b2o$2504bo48b2o601b2o1646b2o532b2o3b2o5bo2b2o33bo54bo47bo$2503b
2o50bo599b2o26b2o1619b2o544b4o87b3o33bob2o8bo5bo$2109b2o392bobo677b2o
2166bo88bo2bo33bo2bo7bobo5b2o$2108b2o1812bobo217bo1196bob2o7bobo5bo81b
2o35b3o9bo5b2o$2110bo1812b2o215bobo1196b3o5bo8bobo15b2o64b2o39b3o5bo$
3923bo217b2o1197bo3bo2bo2b3o4b2o15b2o69bo36b3o$2895b2o2447bo94b2o2b3o
38bo$2895bobo2001bo444bo2bo92b2o3bo$2895bo2001b2o446bobo93b2ob2o$4898b
2o139b2o216b2o182bo3bo$5039b2o216b2o184b3o30b2o$4789b2o653bo31b2o89bo$
3168b2o1619b2o640b2o133b2o$3168b2o2031bo229bobo132bobo$5202b2o225bobob
o$2595b3o2603b2o156b2o66b3o3bobo3b3o$2545b2o48bo2763b2o65b2o11b2o4bobo
$2545bobo48bo2828bo3b2o2b3o3b2obo33b2o$2150b3o392bo2880bo2bo5b2obo4bo
32bobo$2150bo3284b2ob2o4bob2o28bo52bo$2151bo2872b2o216b2o184b3o3bobob
2o2bo85b3o$5024b2o216b2o185bo4b3ob2o4b2o15b2o65b2obo$2937b2o1835b2o
656bo4b2o22b2o64b2obo$2936b2o1836b2o655b2ob4o90b3o$2938bo2483bo9bo92bo
3b2o$5423b2o100bob2ob2o$5285bo58b2o76b2o107bo$5283bobo58b2o180b3o79b2o
$4071bo1212b2o322bobo$4069bobo1353b2o181bo$2638bo1431b2o1353b2o88b3o$
2637b2o2370b2o35bo180b2o298b2o$2587b2o48bobo2369b2o36bo179b2o217b2o72b
o6bobo$2193bo392b2o2171b2o284b3o374b2o22b2o65bo5b2o7bobobo$2192b2o394b
o2170b2o661b2o88bobo4bobo8b3o$2192bobo3228bo89bo6bobo8bo$5516bo4bob2o
41bo$5329b2o185bo5b2o41b2o$2978b3o2348b2o185bo48bobo$2978bo2529bo$
2979bo955bo1570bobo9b3o$3936bo215bobo1213bobo136b2o$3934b3o216b2o839b
2o216b2o155b2o$4153bo840b2o216b2o155bo61b2o217b2o$4744b2o685b2o216b2o$
4744b2o110bo794bo$2679b2o2175bobo646bo3b3o$2679bobo2174b2o646bo6bo$
2628b3o48bo2634b2o188bo5b2o$2234b2o392bo2685b2o189b5o$2234bobo392bo
2876b3o$2234bo2979bo292bo$5212bobo297bo94b2o$3021bo1957b2o216b2o14b2o
296bobo93bobo$3020b2o1957b2o216b2o217b2o94bo94bo$3020bobo1706b2o685b2o
36bo$4729b2o724bo$5453b3o2$5299b2o390b3o$5299b2o390bo$5692bo$2721b2o$
2671bo48b2o$2670b2o50bo2241b2o216b2o111bobo$2276b2o392bobo2291b2o216b
2o112b2o103b2o$2275b2o1804bobo630b2o580bo104b2o$2277bo1804b2o630b2o$
4082bo1566b2o$3062b2o1993bo590b2o$3062bobo1993b2o224b2o252bo111bo$
3062bo1994b2o225b2o253b2o$5538b2o2$5734bo$4949b2o216b2o564b2o$4949b2o
216b2o217b2o345bobo$4699b2o685b2o$2762b3o1181bo218bo533b2o680bo$2712b
2o48bo1184b2o217bo1215bo$2712bobo48bo1182b2o216b3o1213b3o$2317b3o392bo
2556b2o$2317bo2951b2o$2318bo2495bobo$4814b2o874b3o$3104b2o1709bo874bo$
3103b2o1829b2o216b2o537bo$3105bo1828b2o216b2o217b2o$4684b2o685b2o$
4684b2o538bobo$5225b2o548b2o$5225bo549bobo$5254b2o519bo$2805bo2448b2o
209bo$2804b2o2660b2o$2754b2o48bobo2658b2o$2360bo392b2o$2359b2o394bo
2163b2o216b2o$2359bobo2557b2o216b2o217b2o$4669b2o685b2o375bo$4669b2o
1061b2o$3145b3o2160bo423bobo$3145bo2163bo$3146bo947bo1144b2o66b3o$
4095bo1143b2o$4093b3o$5817b2o$5070bo745b2o$4904b2o162bobo51b2o427bo
266bo$2846b2o2056b2o163b2o51b2o217b2o206bobo$2846bobo1805b2o685b2o207b
2o$2795b3o48bo1807b2o$2401b2o392bo$2401bobo392bo$2401bo$5774b2o$3188bo
770bo216bo1215bo381bobo$3187b2o768bobo217b2o1214b2o379bo$3187bobo768b
2o216b2o1214b2o$4889b2o216b2o$4773bo115b2o216b2o217b2o$4639b2o131bo
553b2o$4639b2o131b3o1083b3o$5858bo$5859bo$2888b2o$2838bo48b2o$2837b2o
50bo$2443b2o392bobo$2442b2o$2444bo2429b2o216b2o$4874b2o216b2o384bo337b
2o$3229b2o1393b2o850bobo336b2o$3229bobo1392b2o851b2o338bo$3229bo3$
5901bo$5900b2o$5900bobo2$2929b3o1173bo753b2o$2879b2o48bo1176b2o751b2o$
2879bobo48bo1174b2o502b2o$2484b3o392bo1729b2o$2484bo$2485bo3075bobo$
5562b2o293b3o$3271b2o2289bo294bo$3270b2o2586bo$3272bo2$4844b2o$4844b2o
1096b2o$3969bobo217bo404b2o809bo536bobo$3970b2o215bobo404b2o807bobo
536bo$2972bo997bo217b2o1214b2o$2971b2o$2921b2o48bobo1758bo$2527bo392b
2o1808b2o$2526b2o394bo1808b2o$2526bobo$5900bo$4829b2o1068b2o$3312b3o
1514b2o1068bobo$3312bo1266b2o$3313bo1265b2o3$5488bobo493b2o$5489b2o
492b2o$5489bo495bo$3013b2o$3013bobo$2962b3o48bo1800b2o$2568b2o392bo
1851b2o$2568bobo392bo1600b2o$2568bo1995b2o$5941b2o$3355bo762bo1822bobo
$3354b2o760bobo1822bo$3354bobo760b2o2$5574bo$5575bo$4799b2o772b3o449b
3o$4799b2o1224bo$4549b2o1475bo$3055b2o1492b2o$3005bo48b2o$3004b2o50bo$
2610b2o392bobo975bo$2609b2o1372bo215bobo1213bobo$2611bo1369b3o216b2o
1214b2o$4200bo1215bo566b2o$3396b2o2584b2o$3396bobo1290bo94b2o1198bo$
3396bo1292bobo92b2o$4534b2o153b2o$4534b2o$6068bo$6067b2o$6067bobo2$
3096b3o$3046b2o48bo$3046bobo48bo2403bo$2651b3o392bo1722b2o731bo$2651bo
2117b2o729b3o$2652bo1866b2o$4519b2o1503b3o$3438b2o2584bo$3437b2o2586bo
$3439bo3$6109b2o$4128bobo1978bobo$4129b2o623b2o1353bo$3139bo989bo624b
2o$3138b2o1364b2o$3088b2o48bobo1363b2o1079bo$2694bo392b2o2497b2o$2693b
2o394bo2495b2o$2693bobo$6067bo$6066b2o$3479b3o2584bobo$3479bo$3480bo
512bo218bo526b2o687bo$3994b2o217bo525b2o688bo$3993b2o216b3o275b2o936b
3o$4489b2o1660b2o$6150b2o$4647bobo1502bo$3180b2o1465b2o$3180bobo1465bo
$3129b3o48bo$2735b2o392bo$2735bobo392bo$2735bo1988b2o$4724b2o1382b2o$
3522bo951b2o1632bobo$3521b2o951b2o1632bo$3521bobo1988bo$5513b2o$5512b
2o2$6192b3o$6192bo$6193bo$3222b2o1485b2o$3172bo48b2o1486b2o$3171b2o50b
o1235b2o$2777b2o392bobo967bo317b2o$2776b2o1364bo$2778bo1361b3o$6150b2o
$3563b2o2584b2o$3563bobo2032bo552bo$3563bo2032bobo$5597b2o$4694b2o$
4694b2o1539bo$4444b2o1788b2o$4444b2o1788bobo2$3263b3o740bo216bo1215bo$
3213b2o48bo740bobo217b2o1214b2o$3213bobo48bo740b2o216b2o1214b2o$2818b
3o392bo$2818bo1787bo$2819bo1785bo$4605b3o71b2o1510b3o$3605b2o1072b2o
1510bo$3604b2o823b2o1761bo$3606bo822b2o3$6276b2o$6276bobo$6276bo$3306b
o2218bo$3305b2o2216bobo$3255b2o48bobo1356b2o858b2o$2861bo392b2o1408b2o
$2860b2o394bo1157b2o$2860bobo1551b2o$6234bo$6233b2o$3646b3o2584bobo$
3646bo$3647bo504bo$4153b2o$4152b2o$4649b2o1667b2o$4649b2o1666b2o$4399b
2o1207bobo708bo$3347b2o1050b2o1208b2o$3347bobo2259bo$3296b3o48bo$2902b
2o392bo$2902bobo392bo$2902bo$6275b2o$3689bo326bobo217bo1215bo822bobo$
3688b2o327b2o215bobo397b2o814bobo822bo$3688bobo326bo217b2o397b2o815b2o
$4384b2o$4384b2o179bo$4563b2o$4564b2o1793b3o$6359bo$6360bo$3389b2o$
3339bo48b2o$3338b2o50bo$2944b2o392bobo1278b2o$2943b2o1674b2o$2945bo
1423b2o$4369b2o1164bobo779b2o$3730b2o1804b2o778b2o$3730bobo1803bo781bo
$3730bo3$6402bo$6401b2o$4604b2o1795bobo$4604b2o$3430b3o732bo188b2o$
3380b2o48bo732bobo188b2o$3380bobo48bo732b2o$2985b3o392bo$2985bo2635bo$
2986bo2635bo$5620b3o735b3o$3772b2o2584bo$3771b2o2586bo$3773bo815b2o$
4589b2o$4339b2o$4029bo309b2o2102b2o$4030bo215bobo1213bobo978bobo$4028b
3o216b2o1214b2o978bo$3473bo773bo1215bo$3472b2o$3422b2o48bobo1047bo$
3028bo392b2o1099bobo$3027b2o394bo1098b2o$3027bobo1544b2o$4574b2o1825bo
$4324b2o2074b2o$3813b3o508b2o2074bobo$3813bo$3814bo2$5548bo$5549bo935b
2o$5547b3o934b2o$6486bo$3514b2o1043b2o$3514bobo1042b2o$3463b3o48bo794b
2o$3069b2o392bo845b2o$3069bobo392bo$3069bo$6442b2o$3856bo318bobo2264bo
bo$3855b2o319b2o2264bo$3855bobo318bo2$4544b2o1086bo$4544b2o1087b2o$
4294b2o1336b2o892b3o$4294b2o2230bo$6527bo$3556b2o$3506bo48b2o$3505b2o
50bo$3111b2o392bobo532bo218bo1215bo$3110b2o929b2o217bo1215bo$3112bo
927b2o216b3o1213b3o$4529b2o1953b2o$3897b2o630b2o1952b2o$3897bobo379b2o
199bobo2002bo$3897bo381b2o199b2o$4481bo2$6569bo$6568b2o$6568bobo2$
3597b3o$3547b2o48bo916b2o$3547bobo48bo915b2o1043bo$3152b3o392bo716b2o
1294b2o$3152bo1111b2o1293b2o$3153bo$6525b3o$3939b2o2584bo$3938b2o2586b
o$3940bo3$4188bo310b2o2109b2o$4189bo309b2o2109bobo$4187b3o59b2o2359bo$
3640bo608b2o$3639b2o$3589b2o48bobo2003bo$3195bo392b2o2053bobo$3194b2o
394bo2053b2o$3194bobo$6568bo$6567b2o$3980b3o501b2o2081bobo$3980bo503b
2o$3981bo71bo180b2o34bo1215bo$4051bobo180b2o35b2o1214b2o$4052b2o216b2o
1214b2o$6652b2o$4439bo2211b2o$4438bo2214bo$3681b2o755b3o$3681bobo$
3630b3o48bo$3236b2o392bo838b2o$3236bobo392bo837b2o$3236bo982b2o$4219b
2o2388b2o$4023bo2585bobo$4022b2o2585bo$4022bobo1547bo$5570bobo$5571b2o
2$6693b3o$4454b2o2237bo$4454b2o2238bo49bo$3723b2o479b2o2537b4o$3673bo
48b2o480b2o2536bo3bo$3672b2o50bo3018b2o$3278b2o392bobo524bo2544bo2bo$
3277b2o921b2o2541bo$3279bo919b2o2542bo2bo$6651b2o92b2o$4064b2o2584b2o
78b3o10bo$4064bobo1588bobo994bo$4064bo374b2o1215b2o1085b2o$4439b2o
1215bo1071bo13bobo$4189b2o2536bobo8b3obo$4189b2o2537bo7b2o2bob2o$6735b
obo5bobo$6734b2o3b2o3b2o$6735b5o4bo$3764b3o296bobo217bo1215bo1236bob2o
43b2o$3714b2o48bo299b2o215bobo1213bobo1237bo44b2o$3714bobo48bo298bo
217b2o1214b2o1284bo$3319b3o392bo$3319bo1078bo25b2o$3320bo1075b2o26b2o$
4174b2o221b2o2293b3o$4106b2o66b2o2516bo27bo$4105b2o2586bo25bobo3b2o$
4107bo2612b2o4b2o$6723bo2bo$6723b3o$6727bo$6725bo2bo$6728bo$3807bo601b
2o1171bobo1141b2o$3806b2o601b2o1172b2o1239b3o$3756b2o48bobo350b2o1422b
o1240bo$3362bo392b2o402b2o2551b2o111bo$3361b2o394bo2954b2o$3361bobo$
6735bo$6734b2o$4147b3o2584bobo$4147bo$4148bo63bo2553bo15b2o$4210bobo
181b2o2370bo14b2o$4211b2o181b2o2370bo5bo2bo7bo$4144b2o2625b4o2bo$4144b
2o1522bo1028b2o51bobo10bo12b2obo$5669bo1027b2o52b2o9bobo7b2o5bo$3848b
2o1817b3o1081bo11bo7b3ob3o89bo$3848bobo2917b3o2bob3o88b2o$3797b3o48bo
2918bobo3bo92bobo$3403b2o392bo2969bobob2o$3403bobo392bo2969bo$3403bo$
4076bo302b2o2377b2o$4077bo112bo102bobo83b2o1128bobo1244bo2bo$4075b3o
51b2o58b2o103b2o1214b2o1241b2o5bo$4129b2o58bobo102bo1215bo1171b2o69b2o
4bo$6682b2o68bo3b6o61b3o$4355bo2397b4o3bobo60bo$4355bobo2395b3o3bo64bo
$4355b2o2403b2o$6762bo5b2o$6761bob2o3b3o$3890b2o2871b2o3b2o138b2o$
3840bo48b2o473b2o2391bo3b4o3bo139bobo$3839b2o50bo472b2o2398b4o140bo27b
3o$3445b2o392bobo272b2o2636b2o2bobo5b3o$3444b2o668b2o2551b2o87b3o6bo
176bo3bo8b3o$3446bo2148bo1071b2o87b2o176bo6bo4bo8bo$5596bo1336bob2o5bo
3bo9bo$4231b2o1361b3o1336bo7bo2bo$4231bobo2703b2o2b2o$4231bo2634bo68bo
bo3b2o$6865b2o69bo$6781bo83bobo$4349b2o2428bobo148bo$4349b2o2429b2o
147bobo$4099b2o2827bo3bo$4099b2o2551b2o273bo3bo$3931b3o288bobo2427b2o
273bob2o$3881b2o48bo291b2o2702bo94b2o$3881bobo48bo290bo2703b2o93b3o$
3486b3o392bo3042bo2b2o4b2o63bo22bobob2o$3486bo2192bo1244b2obobob2o2bo
61b2o25b2ob2o$3487bo2192b2o1243bob2o2b2o3bo60bobo20b2o2b4obo$5679b2o
1256bo85bobo3bo$4273b2o59b2o2588b3ob4obo3bo85b4ob2o15b2o$4272b2o60b2o
2392bo194bo6bo6bo85bo3bo16b2o$4274bo2452bo179b2o15b2ob2obo3b2o89b3o18b
o$6637b2o88b3o177bobo15b2o$6637b2o268bo$4306bo1215bo1491b2o$4307bo
1215bo1394b2o94b2o$4305b3o1213b3o1394b2o$3974bo2973bo65b2o$3973b2o
2974b2o59bo3b2o$3923b2o48bobo337bobo2632b2o60b2o$3529bo392b2o389b2o4b
2o2688bob2o4bo$3528b2o394bo389bo4b2o2690b2o$3528bobo3479b3o3bo3bo88bo$
6622b2o388bo3bo91b3o$6622b2o347b3o36bo5bo90b5o$6974bo35bob2ob2ob2o66b
3o22b2o$6903b2o65bo4bo35bo3b4o67bo16b2o5b2o$6903b2o44b2o19b3o3bo110bo
15bo$6948b2o26bo157b2o$5606bo1343bo15b2o6bobo127bobo27bobo$5607b2o
1359bo5b2o21bo34bo72bo28bo$4304b2o1300b2o1358b2o28b2o6b2o24bobo68bo$
4304b2o2690bobo5b2o25b2o68bo$4015b2o3084bo$4015bobo2589b2o$3964b3o48bo
2591b2o182bobo169b3o137b5o$3570b2o392bo2827b2o171bo130b2o5bo$3570bobo
392bo2826bo95b2o75bobobo127bo6b2o2bo$3570bo3317b2o75b3ob2o124b3o10bo
86bo$4235bo2723b2o5b5o128bo6bo88bo$4236bo2721bobo6bo130b3o5b3o85b6o$
4234b3o2725bo4bo2bo85b3o38b2o2bo96b3o$4289b2o2668b2o2bo4bo2bo17b2o106b
2o2b2o94bo2bo$4289b2o2669b2o6b2obo17b2o64bo3b4o34bob3o96b2o$5692bo
1267b7o2b2o91bo35b3o75b2o11b2o7bo$5690bobo899b2o372bo86bo6b2o53bobo57b
2o12b2obob2obo$5691b2o899b2o370b3o71b2o12bo3bo3bo55b2o59bo12bo4b3o$
7038bobo10b2obo3bobo55bo72b2o2bob2o27bo$6687bo185b2o105bo57bo13bob2obo
33b2o97bo4bo27b2o$4057b2o2626b2o186b2o106bo70bob2obo2bo30b2o95b4o2b2o
27bobo$4007bo48b2o2628b2o291b3o70b2o3bo27b3o100bo2bo3bo$4006b2o50bo
2995bobo28bo100bobo3b5o87bo$3612b2o392bobo1524bo1515b3o5bo28bo58bo38b
2o8bobo83b2o$3611b2o661b2o1258b2o1438b2o71bo5b5o84bo4bo36bo5b3o2b2o$
3613bo660b2o1257b2o1439b2o71bo10bo83bo4bo36bo2b2obobob2o$7046bo4b4o3bo
84bo41bobo5b2o83bo4bobo$6577b2o468b3o4bo2bo128bo90bobo3bo2bo$6577b2o
468b3o5b2o88bo137bo3bo$7139b3o3b4o36bo97bo$6858b2o216b2o61b3o4b3o35bob
o14bo73bo3bo3bo3bo$6858b2o187bo5b2o21b2o60b3o6bobo34bo2bo14bo76bo3bo2b
2o$7046bobo13bo75b3o4b3o37b2o13b3o73bo11bo$7046bo2bo13b2o73b3o4b4obo
126bo2bo4bo2bo$7047b2o13b2o75b2o6bo2bo114b2o11bobo5b2o$4259b2o2879b2o
6b2o115bobo6b2o3b2o$4098b3o158b2o2867bo12b2o5b2o28b2o85bo7b3o$4048b2o
48bo3028b2o8bo4bo35b2o93b2o$4048bobo48bo1519bo942b2o563bobo5b2obo133b
2o38b3o$3653b3o392bo1568bobo942b2o571bo134b2obo4bo2bo30bo$3653bo1964b
2o1520bo34b2o93bo5b3obobo30bo55b3o$3654bo3188b2o216b2o69b2ob3o2bo33b2o
95b8o4bo88bo$6843b2o216b2o69bo3b5ob3o31bo55bo38b2o7bobo84bo4bo$6804bo
329b2o6b3o86b3o34bobo$6805bo327bo7bo2bo84b6o31bo98bo4bo$6803b3o324bobo
96b2o34bo3bo8bo6bo79b3ob2obo$7128b4o95b2o3bo32bobo9bobo6b2o79bo4b2o$
7127bob2o9bo7bo14b2o62b2ob3o38b3o4bo6b2o79bob3o3b2o$7127bo11bobo4bobo
14b2o68b3o35bobo92b2o7bo$6547b2o579bo4b2o5bo6b2o81b3obobo35b2o92b2ob4o
$6547b2o585b2o91b4o2b2ob2o134bobo$4141bo2993bo95bo2b3o136b2o$4140b2o
2686b2o216b2o183bo4bo120b2o11bo2bo$4090b2o48bobo1559bobo1123b2o216b2o
187bo29b2o94bo8b3o$3696bo392b2o1612b2o1515bo11bo2bo29b2o87b2o5bo9bo$
3695b2o394bo1611bo1515b4o9b3o118b2o8bo$3695bobo3519b7o129bo2b2o3b4o2b
3o$6644bo346bo223b2ob2o10bo123b3o3bo4bobo34b2o$6644bobo345b2o154b2o65b
o2bo3b5o3bo124b2o4bobo2b2o33b2o$6644b2o345b2o155b2o67bo7bo4bo33b2o86b
2o2bo3b2o4bo36bo52bo$6532b2o681bo2bo4bobob2o35bobo87bobo7bo6bo84b2o$
5546bo985b2o681bobobo3b2ob3o35bo89b3o3bo3bo4bobo83bobo$5544bobo1668bo
7bob2o4bobo83b3o35b3o2bo9b2o84b2o$5545b2o1266b2o216b2o186bo2b3o7b2o85b
o36bobo2b5o90b2o$6813b2o216b2o183b3o4b2obo5bo17b2o66bo38b3o2b3o89b2obo
$7218bo5bo2bo22b2o66bo42b3o91bo$7219b3o5bo88b2obo39bob3o90bo3bo$4182b
2o3036bo3b2o89bobobo41bo95b3o$4182bobo3027bo7bo2b2o232b3o$4131b3o48bo
2950b2o78b2o7bo93bo3b2o$3737b2o392bo2943bo57b2o77b2o105b2o31b2o89bo$
3737bobo392bo2384b2o554bobo137b2o137b2o89b3o$3737bo2779b2o555b2o138b2o
230b2o6b2o$7214b2o88b3o136b2ob2o6bo2bo$6798b2o216b2o288bobo7b2o122bo3b
o3bo6bob2o$6798b2o216b2o217b2o69b4o6bobo120bobo3b2obo6bo3b2o$5629bobo
1603b2o65bo3bo3bo6b3o120bo4b2o2b2o5bo3bo30b2o$5630b2o1669bobo3b2obo8bo
b2o128b2o3b4o31bobo$5630bo1671bo5b2ob2o5b2o2bo31bo87b3o3b2ob2o5bo32bo
51b2o$7305bo4bo2bo5b3o31b2o93b2ob2o90b2o$7118b2o185bo4b2ob2o38bobo49bo
40bo3bo91bo2bo$6815bo302b2o185bo5bobo23b2o66b2o39bo94b3obo$6502b2o312b
2o494bo24b2o68bo38bo93b2o3bo$4224b2o2276b2o311b2o481bo8b3o94b4o135b2o$
4174bo48b2o3071bobo103b2o2bo134bobo$4173b2o50bo2557b2o216b2o155bobo
136b2o104bobo136bo$3779b2o392bobo2607b2o216b2o156b2o59b2o181b3o27bo2b
2o106bo$3778b2o3379bo60b2o209bo7b2o101b4o$3780bo3518bo130bo9bo88b3o9bo
$7294b3ob4o90bo12b3o132bo$5715bo1577b6o2b2o89bo10b2obo27bo4bo101b2o3bo
$5716bo1386b2o187b2o3bo2b2o90bo10b2ob2o22bo96bo16b2o$5714b3o1386b2o
187b3o2b2ob2o20b2o79bo2b2o23b2o4b2o87bobo4b3o8b2o$6487b2o804b2o2b3o22b
2o65bo16b2o28b4o87bo8bo$6487b2o805b3ob2o88bobo5b2o36b2o2bobo90bo4bo6b
3o$6602bobo399bo291b2o3bo87bo5b2obo7bo32bo90b2o4bo6bo37bo$6602b2o164b
2o216b2o14bobo291bo3bobo90b3ob2o7bo124bo11bo2bo33b2o$6603bo164b2o216b
2o15b2o200b2o94bo91bo2b2o7bo2bo123b3o8bobo34bobo$7205b2o174bobo9bo2bo
8b3o16b2o16b3o88bo96bo$4265b3o1288bobo1685bo137b2o10b3o9b2o16b2o16bo
186b2o$4215b2o48bo1291b2o1686bo136bo60bo184b2o2bo$4215bobo48bo1290bo
1685b3o245b3o137b3o$3820b3o392bo2872b2o400bo140b3o$3820bo3267b2o217b2o
180bo3b2o135bo$3821bo2650b2o833b2o185b2o121bo11bo3bo$6472b2o1017bo26b
2o2b3o92bo11bo3bo$7387bo104b4o22bo3bobobo90bo9bob2o$6753b2o216b2o407b
2ob2o4bo88b3o7bo3b3o24b2o2b2obo102b3o$6753b2o216b2o112bobo102b2o189b4o
b3o99bo3bo121bo7bo6bo$7086b2o102b2o190bo3b2o21b2o79bo122bobo6b4o3b3o$
7086bo322b2o65bo15b2o32bo87bo6b5o$7475bobo5b3o4bo34bobo97bo4b3o$7388bo
78bo8bo9b3o2bo2bo31bo94bo8bo$5642bo1430b2o312bobo78bo13bo11bo127b3o5bo
$4308bo1334bo1429b2o217b2o34bo59bo77b3o22bobo128b3o$4307b2o1332b3o813b
2o833b2o35b2o152b2ob2o3bo19b2o156b3o$4257b2o48bobo2147b2o869b2o155bo
25b2o156bo$3863bo392b2o3274b2o136bo$3862b2o394bo2479b2o216b2o573b2o
184b2o$3862bobo2873b2o88bo127b2o217b2o356bo182bobo$6826bobo346b2o217b
2o184bo135b3o$6827b2o565b2o183b2o25bo108bo$7171bo406b2o25bobo95b3o9bob
o$7172bo295bo97bo10bo28b2o3b2o96b2o4bobo$7058b2o110b3o294bobo96bo10b3o
31b2ob2o98bobo$7058b2o217b2o189b2o4bobo89bo5bo6bo30bo2b3o85bo5bo3b2o$
6442b2o833b2o194b2obo19b2o73b2o4bo32bob3o85bobo4bo5b2ob2o$6442b2o1028b
o4bo18b2o53bo11bo6bob2obobo33b3o87bo9bo4bobo$5726bo1745bo3bo75b2o8bobo
4b3o3bo36bo94bobo3bo2bobo$5727b2o994b2o216b2o471bo58b3o75b2o10bo6b2ob
2o3b3o127b2o3bo3bo$4349b2o1375b2o995b2o216b2o217b2o250bobo155b2ob3o2b
3o130bo$4349bobo2808b2o217b2o32b2o154bo3b2o$4298b3o48bo2211bo817b2o
191bo25b2o$3904b2o392bo2261bo453bobo552bo28b2o$3904bobo392bo2260b3o
452b2o742b2o$3904bo3110bo27b2o713b2o$5569bo1473b2o217b2o357b2o137bo$
5570bo856b2o826bo6b2o217b2o138bobo183bo$5568b3o856b2o827b2o223b2o67bo
70bo71bo4bo92bo14b2o$7255b2o292bo142bobo3b2o91bo14bobo$6708b2o216b2o
627bo112b3o22b2o4bo91bo4bo2b2o$6708b2o216b2o217b2o407bobo2b3o90b3o13bo
29bo96bo6b2o$7145b2o217b2o185b2o2b2o4bo75bo20b2obo7bo27b2o89bo6b2o5b2o
$7364b2o217b2o50bobo20b5ob2o28bo2b2o88bobo6bobo4bo$7497bobo59b2o22b2o
51b2o12bo7bo2bob2o29bo2bo10bo79bo4bo4bobob2o$7098bo399b2o56bo2bo89bobo
6bob3o31bobo2b2o7bo84bo4bobob2o$4391b2o2635b2o69bo398bo57b3o11b2o78bo
5b3o3bob2o126bo5b4o$4341bo48b2o2636b2o67b3o147b2o308b2o2b2o6bo85b4obob
obo34bob2o89bob5o$4340b2o50bo2019b2o833b2o217b2o93b2o91bo3bob2obo36b5o
88b2o$3946b2o392bobo2069b2o1052b2o94b2obo88bob2obo25b2o15bobo$3945b2o
3616bo2bo88bo29b2o16bo79bobo$3947bo1705bo1039b2o216b2o653bo212bo$5654b
2o1037b2o216b2o217b2o209bo222b2o79b2o131bob2o4bo$5653b2o1475b2o207bobo
7b2o294b3o129bo4bobobo61b2o$7340b2o7b2o217b2o70b3o3b2o128b2o2b4o64bobo
$7568b2o69bob2obo3bo62bo65b2o2bobo64bo$7639bo3b3o2bo61b2o66bo6bo91b3o$
6838bobo798bo70bobo7bobo17bo43b4o107b3o$6839b2o391b2o349bo56bo2bo2bo
74b2o17bo44bob2o5bo88bo2b2o7bo$6397b2o440bo392b2o217b2o131bo56bo5b2o
72bo18bo17b2o26b4ob3ob2o78bo5b3o3b2o7bo$6397b2o783bo268b2o129b3o62bob
2o4bobo12b2o76b2o7b2o31bobo2bo78bobo4bo4b2o$7183b2o466bo2bo2bo12b2o65b
o6b3o2bo9bo26b2o3bob2o80bo5bo3b2o$4432b3o2243b2o216b2o284b2o464bo3bobo
2bo78bobo3b2o5bo32bo8b2o88b2ob2o$4382b2o48bo2245b2o216b2o217b2o532bo3b
ob2o80bo6bo3bo32bobo6bobo86b2o2b2o$4382bobo48bo2681b2o217b2o308bo4bo4b
o91b2o32b2ob2o5b2o87b2o$3987b3o392bo2951b2o217b2o88bobo8bo86b2ob2o36bo
7bo80b2o$3987bo1751bo1813b2o87bo2bo5b3o87bo30b2o$3988bo1748bobo1684bob
o216bobo87bo38b2o96bo3bo$5738b2o1685b2o306b2o134bo4bo$7217b2o206bo306b
2obo132b2o2bobo$6382b2o136bo696b2o217b2o292bo3b3o130bobo$6382b2o134b2o
916b2o217b2o73bo3b2o70bo59b2ob2o$6519b2o1134b2o72b2o76bo59bob2o67bo$
6663b2o216b2o784bo61bobo73b3o61b2o2bo63b2o$5580bo1082b2o216b2o785b2o
59bob2o3bo126bo4bo4b5o59bobo$5581b2o1685bo50b2o346b2o59b2obo3bo2bo60b
3o26b2ob2o34bo3bobo2b3o$5580b2o1684bobo50b2o217b2o186b3obo3bo64bo28b2o
3bo28bo4b2o6bo3bo$4475bo2791b2o269b2o185b3o8b2ob2o16b2o41bo25bo5b2o28b
o6bobo4b3o$4474b2o3249b2o2bo2bobo4bobo15b2o66b5o3b4o10b2o20b2o6bo$
4424b2o48bobo3248b2ob2obo6b3o84bo7bo2bo10bobo13bo3bob2o$4030bo392b2o
2777b2o521b2ob2ob2o92bob4ob5o10bo16bo$4029b2o394bo1941b2o833b2o217b2o
87bo215b2obo96b2o3b4o30b4o$4029bobo2335b2o1052b2o88bo128b2o85b2o2bo
101b2o32bo$7509b3o128b2o86b3o101bo26b2o$6648b2o216b2o991b2o$6648b2o
216b2o951bo$7304b2o512bobo69bo$7304b2o217b2o295bo70b2o$7523b2o217b2o9b
o64b2o70b2o87b2o$5666bo2075b2o7bobo64bo160bobo$5664bobo1684bobo398b2o
62bo162bo$5665b2o1685b2o461bobo96bo$6352b2o998bo53b2o406b2ob2o94bobo$
4516b2o1834b2o1052b2o217b2o190b3o92b2obo$4516bobo3106b2o191b2o3bo20b2o
43b2o21b2o3bo$4465b3o48bo2116b2o1180b5o2bobo19b2o42b2o20bo2b3o2b2o$
4071b2o392bo2167b2o959bo220bo2bo2b2ob2o64bo20b2obo4bo$4071bobo392bo
2822b2o304b2o218bo2bo3bobo90bo3bo17bo$4071bo3217b2o217b2o84b2o220b2o4b
2o91bob2o17b2o$7508b2o217b2o187bo19bobo$7727b2o2$7905b2o$6337b2o1052b
2o443bobo66b2o$5749bobo585b2o1052b2o44bo172b2o225b2o182b2o$5750b2o
1686bo171b2o217b2o6bo67b2o113b2o$5750bo867b2o816b3o390b2o74b2o115bo$
6618b2o1280b2o8b2o$6477bo1423b2o6bo$4558b2o1917bobo1013b2o405bobo6bo$
4508bo48b2o1918b2o1014b2o217b2o186b3o6bo$4507b2o50bo3120bo31b2o191b2o
2bo$4113b2o392bobo1083bo2084bobo219b2ob5obo$4112b2o1477bobo2085b2o221b
o2bobo2b2o66b2o$4114bo1477b2o728b2o1052b2o530bo69bobo$6322b2o1052b2o
217b2o309b2o70bo$7595b2o217b2o$6603b2o1209b2o106bo$6603b2o1318bo$7521b
o399b3o$7478b2o42b2o538b3o$7478b2o41b2o174b2o363bo$7697b2o364bo3$4599b
3o1705b2o$4549b2o48bo1707b2o1271b2o181bobo$4549bobo48bo1075bobo1901b2o
182b2o33b2o$4154b3o392bo1127b2o909b2o1174bo34b2o$4154bo1522bo910b2o
1430b2o$4155bo3863b2o$7463b2o556bo$7463b2o217b2o$7682b2o$7607bo$7605bo
bo497bo$6292b2o1312b2o496b2o$6292b2o1271b2o537bobo$7565b2o217b2o$6573b
2o1209b2o$4642bo1930b2o1274bo$4641b2o1119bo2087bo$4591b2o48bobo1119bo
2084b3o$4197bo392b2o1169b3o1903b2o$4196b2o394bo3074b2o$4196bobo3862b3o
$6435bobo1623bo$6277b2o156b2o1625bo$6277b2o157bo1113b2o$7550b2o138bobo
76b2o$5603bobo952b2o1131b2o76b2o$5604b2o952b2o1131bo454b2o$5604bo2541b
obo$8146bo$7652b2o$7652b2o279bo$4683b2o3249b2o$4683bobo3247b2o$4632b3o
48bo1578b2o$4238b2o392bo1629b2o$4238bobo392bo3120b2o348bo$4238bo2304b
2o1209b2o347b2o$6543b2o1558bobo$7776bo$5689bo2087bo$5690bo1946b2o136b
3o$5688b3o1946b2o$8188b2o$8187b2o$6247b2o1940bo$6247b2o$7739b2o$4725b
2o1801b2o1087bobo119b2o$4675bo48b2o1802b2o1088b2o$4674b2o50bo2891bo$
4280b2o392bobo$4279b2o3341b2o521b2o$4281bo3340b2o521bobo$7860bo284bo$
5773bo2087b2o$5774b2o456b2o1626b2o$5773b2o457b2o$7724b2o$6394bo118b2o
1209b2o503b3o$6393bo119b2o1714bo$6393b3o1834bo$7703bo$5616bo2087bo$
4766b3o848bo2084b3o$4716b2o48bo848b3o$4716bobo48bo$4321b3o392bo1500b2o
$4321bo1895b2o1968b2o$4322bo3386b2o235bo239b2o$6498b2o1209b2o233bobo
241bo$6498b2o1445b2o3$8272bo$8271b2o$8271bobo$7787bo$5700bo501b2o1584b
2o$4809bo891b2o499b2o1583b2o$4808b2o890b2o$4758b2o48bobo1672b2o$4364bo
392b2o1724b2o$4363b2o394bo$4363bobo3862b3o$8228bo$8229bo3$6187b2o$
6187b2o2124b2o$8313bobo$6468b2o1403bo439bo$5786bo681b2o1401bobo$5784bo
bo2085b2o$4850b2o933b2o$4850bobo$4799b3o48bo1502bo$4405b2o392bo1551b2o
$4405bobo392bo1551b2o1917bo$4405bo1766b2o2096b2o$5627bo544b2o2096bobo$
5628b2o$5627b2o824b2o$6453b2o2$8355b2o$7956bobo395b2o$7957b2o397bo$
7957bo2$4892b2o1263b2o$4842bo48b2o1264b2o$4841b2o50bo$4447b2o392bobo
1594b2o$4446b2o1990b2o1360bo511b2o$4448bo1264bo2084bobo511bobo$5711bob
o2085b2o511bo$5712b2o4$6142b2o2252b3o$6142b2o2252bo$8397bo$6423b2o$
6423b2o$4933b3o$4883b2o48bo$4883bobo48bo$4488b3o392bo2999bobo$4488bo
1307bobo2085b2o468b2o$4489bo1307b2o2085bo468b2o$5797bo329b2o2226bo$
6127b2o$6310bo$6310bobo95b2o$6310b2o96b2o2029bo$8438b2o$5640bo2797bobo
$5638bobo$5639b2o$4976bo$4975b2o$4925b2o48bobo1134b2o1855bo$4531bo392b
2o1186b2o1856bo$4530b2o394bo3041b3o$4530bobo1860b2o2000b3o$6393b2o
2000bo$8396bo4$7810bobo667b2o$5723bobo2085b2o667bobo$5724b2o371b2o
1712bo668bo$5724bo372b2o2$5017b2o1359b2o$5017bobo1358b2o$4966b3o48bo$
4572b2o392bo$4572bobo392bo3470bo$4572bo3864b2o$8437bobo2$6082b2o$6082b
2o1812bo$5809bo2087bo$5810bo552b2o1530b3o624b2o$5808b3o552b2o2156b2o$
8523bo2$6268bobo$5059b2o1207b2o$5009bo48b2o1209bo$5008b2o50bo$4614b2o
392bobo639bobo414b2o$4613b2o1036b2o414b2o2410b2o$4615bo1035bo2827bobo$
6348b2o2129bo$6348b2o$7980bo$7981b2o$7980b2o$8563b3o$8563bo$8564bo$
6052b2o$6052b2o$5100b3o2720bo$5050b2o48bo635bo596b2o1489bo$5050bobo48b
o635bo595b2o1487b3o$4655b3o392bo684b3o$4655bo3865b2o$4656bo3863b2o$
8522bo3$6037b2o$6037b2o2567bo$8605b2o$6318b2o2285bobo$6318b2o2$5143bo
2763bo$5142b2o676bo2087b2o$5092b2o48bobo676b2o2084b2o$4698bo392b2o727b
2o$4697b2o394bo$4697bobo1322b2o203bo2334b3o$6022b2o202bo2335bo$6226b3o
2334bo$6303b2o$5663bo639b2o$5664bo$5662b3o2982b2o$8647bobo$8647bo2$
7993bo$5184b2o821b2o1982bobo$5184bobo820b2o1983b2o$5133b3o48bo$4739b2o
392bo1154b2o$4739bobo392bo1153b2o2315bo$4739bo3864b2o$8604bobo$7834bo$
5747bo2087b2o$5748b2o2084b2o$5747b2o$5992b2o2695b2o$5992b2o2694b2o$
8690bo$6273b2o$6273b2o$5226b2o$5176bo48b2o$5175b2o50bo$4781b2o392bobo$
4780b2o3864b2o$4782bo3863bobo$5977b2o1941bo725bo$5833bo143b2o1939bobo$
5831bobo2085b2o$5832b2o424b2o$6258b2o$6186bo2543b3o$6184b2o2544bo$
6185b2o2544bo2$5674bo$5267b3o405b2o$5217b2o48bo406b2o286b2o$5217bobo
48bo693b2o$4822b3o392bo$4822bo1420b2o2443b2o$4823bo1419b2o1758bobo681b
2o$8004b2o683bo$8004bo3$8773bo$8772b2o$5947b2o2823bobo$5947b2o1898bo$
5760bo2084bobo$5310bo447bobo467b2o1616b2o$5309b2o448b2o467b2o$5259b2o
48bobo$4865bo392b2o$4864b2o394bo$4864bobo3862b3o$8729bo$8730bo$5932b2o
$5932b2o2$6213b2o2599b2o$6213b2o2599bobo$7930bobo881bo$5843bobo2085b2o
$5844b2o2085bo$5351b2o491bo$5351bobo$5300b3o48bo791bo$4906b2o392bo616b
2o224bobo$4906bobo392bo615b2o224b2o2627bo$4906bo3864b2o$5687bo510b2o
2571bobo$5685bobo510b2o$5686b2o3$8016bo839b2o$8017bo837b2o$8015b3o839b
o$5902b2o$5902b2o$5393b2o$5343bo48b2o789b2o$5342b2o50bo788b2o$4948b2o
392bobo$4947b2o2908bobo953b2o$4949bo820bobo2085b2o953bobo$5771b2o2085b
o954bo$5771bo2$5887b2o$5887b2o$8897b3o$6168b2o2727bo$6168b2o2728bo3$
5434b3o$5384b2o48bo$5384bobo48bo2507bo$4989b3o392bo471bo2087bo$4989bo
867bo14b2o2068b3o910b2o$4990bo864b3o14b2o2980b2o$8856bo$6153b2o$6101bo
bo49b2o$6101b2o$6102bo2837bo$8939b2o$5697bobo3239bobo$5698b2o$5698bo$
5477bo379b2o$5476b2o379b2o$5426b2o48bobo2548bo$5032bo392b2o711b2o1888b
2o$5031b2o394bo710b2o1887b2o$5031bobo3862b3o$8896bo$8897bo3$7870bo$
5783bo58b2o2027bo1109b2o$5784bo57b2o2025b3o1109bobo$5782b3o3196bo$
6123b2o$6123b2o$5518b2o$5518bobo$5467b3o48bo$5073b2o392bo$5073bobo392b
o3470bo$5073bo3864b2o$5827b2o3109bobo$5827b2o2$6108b2o1844bo$5867bo
240b2o1845b2o$5868b2o2084b2o1067b2o$5867b2o3153b2o$9024bo$6060bo$6059b
o$5560b2o497b3o$5510bo48b2o251b2o$5509b2o50bo148bo101b2o$5115b2o392bob
o199bo$5114b2o593b3o381b2o2885b2o$5116bo976b2o2885bobo$8980bo2$8040bo$
8038bobo$8039b2o$9064b3o$5797b2o3265bo$5797b2o3266bo2$6078b2o$5601b3o
474b2o1801bo$5551b2o48bo192bo2087b2o$5551bobo48bo192b2o2084b2o$5156b3o
392bo242b2o$5156bo3865b2o$5157bo3863b2o$9023bo$5782b2o$5782b2o2$6063b
2o3042bo$6063b2o3041b2o$9106bobo3$5644bo2322bo$5643b2o235bo2084bobo$
5593b2o48bobo232bobo2085b2o$5199bo392b2o173b2o110b2o$5198b2o394bo172b
2o$5198bobo818bo3043b3o$6017b2o29b2o3013bo$6018b2o28b2o3014bo2$5721bo$
5722b2o$5721b2o3425b2o$9148bobo$9148bo$5752b2o$5752b2o2296bobo$5685b2o
2364b2o$5685bobo345b2o2016bo$5634b3o48bo347b2o$5240b2o392bo$5240bobo
392bo3470bo$5240bo3864b2o$9105bobo$7894bo$5807bo2084bobo$5737b2o66bobo
2085b2o$5737b2o67b2o$9190b2o$6018b2o3169b2o$6018b2o3171bo3$5727b2o$
5677bo48b2o$5676b2o50bo$5282b2o392bobo$5281b2o3864b2o$5283bo3863bobo$
7977bobo1167bo$5890bobo110b2o1973b2o$5891b2o110b2o1973bo$5891bo2$5976b
o3254b3o$5976bobo3252bo$5976b2o3254bo3$5768b3o$5718b2o48bo$5718bobo48b
o218b2o$5323b3o392bo269b2o$5323bo2739bo1125b2o$5324bo2739bo1123b2o$
8062b3o1125bo4$9274bo$9273b2o$9273bobo$5973b2o1929bobo$5817bobo153b2o
1930b2o$5811bo6b2o2085bo$5810b2o6bo$5760b2o48bobo$5366bo392b2o$5365b2o
394bo$5365bobo3862b3o$9230bo$9231bo2$5958b2o$5958b2o$9315b2o$7990bo
1324bobo$5903bo2087bo1323bo52bo$5904bo2084b3o1375b3o$5902b3o3462b2obo$
5852b2o3512b2obo$5852bobo3512b3o$5801b3o48bo81bobo3427bo3b2o$5407b2o
392bo132b2o3428bob2ob2o$5407bobo392bo132bo7b2o3328bo96bo$5407bo535b2o
3327b2o91b3o$9272bobo2$9354b3o$9366b2o$9359bo6bobo$8074bo1277bo5b2o7bo
bobo$8075b2o1274bobo4bobo8b3o$8074b2o1276bo6bobo8bo$9355bo4bob2o41bo$
5928b2o3425bo5b2o41b2o$5894b2o32b2o3425bo48bobo$5844bo48b2o$5843b2o50b
o3461b3o$5449b2o392bobo2071bo$5448b2o380bo2087bo1395b2o$5450bo380bo
2084b3o1395bobo$5829b3o3482bo2$9344bo3b3o$9343bo6bo$5913b2o3428bo5b2o$
5913b2o3429b5o$9345b3o$9346bo$9351bo94b2o$9350bobo93bobo$9351bo94bo$
5885b2o$5885bobo2113bo$5490b3o392bo2116b2o1332b2o$5490bo2510b2o1333b2o
18b2o$5491bo406b2o3455b2o$5898b2o3457bo$9404bo$9403b2o$9402b2o$9390bo
10bo$9390bo10b3o$9390bo5bo6bo$9395b2o4bo$9321b2o64bo6bob2obobo86b2o$
9321b2o63bobo4b3o3bo87b2o$5883b2o3492bo9bo6b2ob2o3b3o84bo$5883b2o42b2o
2158bo1290b2o14b2ob3o2b3o$5533bo392b2o2157bobo1289b2o14bo3b2o$5532b2o
394bo2157b2o1308bo$5532bobo3858bo3$9445b2o$9445bobo$7928bo1377b2o66bo
70bo$5841bo2087b2o1375b2o65bo$5842b2o24b2o2058b2o1449bo$5841b2o25b2o
3508bobo2b3o$9375b2o2b2o4bo$9529b3o$9383b2o144bo$9380bo2bo146bo$5968b
3o3409b3o11b2o$5574b2o392bo3412b2o2b2o6bo$5574bobo392bo3415b2o$5574bo
3716b2o93b2obo$9291b2o94bo2bo$5853b2o3535bo$5853b2o3533b2o97b2o101bo$
8014bo1471b2o102bo$8012bobo1473bo101bo$8013b2o1574b3o2b2o$9588b5ob2o$
9586b8o$9407bo164bo12bobo$9408bo162b2o12b2o4b2o$9276b2o128b3o162bobo
11bobo3b3o$6011bo3264b2o308b2obo2b2o$6010b2o3574bo3bo28b2o$5616b2o392b
obo3573bob2o28b2o$5615b2o4003bo55b3o$5617bo3963b10o85bo$9580b6o5bo84b
2o$9579bo4bo2b3obo$8097bobo1428b3o49b2o5b4o87bo$8098b2o1428bo52b2o89bo
5bo$8098bo1430bo141b3o3bobo$9261b2o324bo90bo$9261b2o86bo230bo6bo83b3o
5bo$9349bobo227bobo4bo9bo75bobob2obo$9349b2o228bo2bo11bobo76b2o6b2o$
9580b2o13b2o76b2ob2o3bo$7941bo1736bo2b2o$6052b2o1885bobo1737bob2o$
6052bobo1885b2o1718b3o13b2obo$5657b3o392bo3520b2o84bo2b2o5b3o7bo$5657b
o3915b2o84bo4bo2b2ob4o4bo$5658bo4006bob2o2bobo34b2o$9246b2o411bo5bobo
3b2o2bo32bobo$9246b2o323bo87bo5bo4bo3b2o32bo$9570b2o88bo4bo2bo94b3o$
9570bobo91b3o4b3o87b2o$9626b3o31bo2bob2obo8bobo81b2o$9627b2o31b3o3b2o
4bo5b2o86bo$9624b2ob2o37b2o4bo5bo82bo4bo$9623bo2bo39b2o4bo87bo3b2o$
9558b2o63bob2o39b3o92bo3bo$8024bobo1531b2o63bo2bo2b2o35b2o94b4o$8025b
2o1595b2obo3b2o132bo2bo$6094b2o1929bo1205b2o390bobo2bo2bo132b3o$5700bo
392b2o3136b2o397b2o$5699b2o394bo3530b2o2bo28b2o89bob2o$5699bobo3716bo
207b2ob2o28b2o89bob2o$9419b2o206bobo124bo6bo$9418b2o195b2o11bo121b2o2b
3o3bo2bo$9614b2obo129b3o5bo5bo4b2o$9612b2obob2o5bo121bobob2o2b2o2bo2b
2o3b3o29bo$9543b2o65b2ob4obo4b2o122bo2bobo3bo2bo2b2o3b2o28b2o$9543b2o
64bo7bo2b3o2bo124bo5bo3b4obobo29bobo$9611bo3bo2b3obob2o33b3o87b3o5bo2b
o2b4o$9216b2o393bo3bo2bo2bo2b3o32bo95b2o3bo4bo$8110bo1105b2o394bo2bo7b
o2b2o32bo51b2o39bo2bo2bo$8111bo1499bo3bo2bo8b2o15b2o65b2obo38b3ob2o$
8109b3o1500bo3b4o24b2o64b2o2bo38bo$9613bo4bo3bo86bobo2b2o$6135b3o3476b
o3b2ob2o85bo3bob2o$5741b2o392bo3171bobo305bob3o89b2obobo$5741bobo392bo
3170b2o297bobo7bo93bo$5741bo3566bo219b2o77b2o102bo2bo31b2o$9528b2o77bo
102bo3bo31b2o$7951bobo$7952b2o1247b2o406b2o87b3o13bo$7952bo1248b2o406b
2o98bo3bo29bo95b2o$9629b2o79b5o28b2o94bobo$9629b2o65bo6b2o7bo2bo28bo
94bo$9607bo87bobo4b2o10bo28bo$9608bo87bo6bo2bo5bobo$9607bo91bobo2b3o$
9698bo6bo43b2o$9513b2o175bo8bo3bo7bo19b2o15b2o$6178bo3334b2o176bo20bo
18b2o17bo$6177b2o3510b3o9bobo94b3o$5783b2o392bobo3006b2o514bo94bo2b2o$
5782b2o3402b2o609bo3bo$5784bo2252bo1761b4o$8038bo1759b2obo$8036b3o
1761b2o$9692b2o92bo11bobo$9687b3obobo92bo11bo82b2o$9687bob3o2bo91bo12b
o80b2o$9431bo66b2o188b5o23b2o164bo$9429bobo66b2o216b2o65bo14b2o$9430b
2o350bobo9bo2b3o$9171b2o522bo87bo7bob3o2bo$9171b2o521bobo77bo15bobobo
5bo$9695bo79b2o13bo3bo3b3o$6219b2o3553b2o14bo2b2o$6219bobo3569bobo44b
2o$5824b3o392bo3419bo152bo45bobo$5824bo2296bo1515bobo198bo$5825bo2296b
2o1514b2o$8121b2o1360b2o216b2o$9483b2o216b2o$9266bo$9156b2o107bo509bo
146b3o$9156b2o107b3o506bobo4bo140bo$9775b2o3b2o141bo$7964bo1814bobo$
7965bo1812b3o$7963b3o$9780b4o$9720bobo58b2o$6261b2o3205b2o216b2o33b2o
58bo$5867bo392b2o3206b2o216b2o33bo158b2o$5866b2o394bo3616b2o$5866bobo
3272b2o738bo$9141b2o3$9965bo$9964b2o$9964bobo$8048bo$8049b2o1402b2o
216b2o$8048b2o1403b2o216b2o$9806bo$9126b2o679bo$9126b2o677b3o$6302b3o
3136bobo$5908b2o392bo3139b2o477b3o$5908bobo392bo3138bo478bo$5908bo
4013bo3$9438b2o216b2o$9438b2o216b2o348b2o$9649bobo354bobo$8134bo976b2o
537b2o354bo$8132bobo976b2o537bo$8133b2o2$9225bo$9223b2o$6345bo2878b2o$
6344b2o3618bo$5950b2o392bobo1628bo1447b2o216b2o320b2o$5949b2o2025b2o
1445b2o216b2o320bobo$5951bo2023b2o$9096b2o635bo$9096b2o636bo$9732b3o$
10048b2o$10047b2o$10049bo3$9408b2o216b2o$9408b2o216b2o2$6386b2o2693b2o
$6386bobo1672bo1019b2o922b2o$5991b3o392bo1672bobo1943bobo$5991bo2068b
2o1943bo$5992bo3824bo$9818b2o$9454bo362b2o$9455bo$9393b2o58b3o155b2o
476b3o$9393b2o216b2o476bo$10090bo$9066b2o$9066b2o2$9662bo$9663bo$6428b
2o1714bobo1514b3o$6034bo392b2o1716b2o1900b2o$6033b2o394bo1715bo1900b2o
$6033bobo3342b2o216b2o450bo$9182bo195b2o216b2o$9182bobo$9051b2o129b2o$
9051b2o1079bo$7988bo2142b2o$7986bobo2142bobo$7987b2o$9744bo$9745b2o$
9744b2o$9363b2o216b2o$9363b2o216b2o$6469b3o$6075b2o392bo2566b2o1050b3o
$6075bobo392bo2565b2o1050bo$6075bo4013bo4$8071bobo2099b2o$8072b2o2099b
obo$8072bo1275b2o216b2o605bo$9348b2o216b2o262bo$9828bobo$9021b2o442bo
363b2o$9021b2o443b2o$9465b2o$6512bo$6511b2o3618bo$6117b2o392bobo3616b
2o$6116b2o4012bobo$6118bo$9333b2o216b2o120bo$8157bo1175b2o216b2o121b2o
$8158bo1514b2o$8156b3o847b2o1207b2o$9006b2o1206b2o$10216bo$9140bobo$
9140b2o$9141bo2$7998bobo$6553b2o1444b2o1317b2o216b2o$6553bobo1443bo
1318b2o216b2o634b2o$6158b3o392bo3203bo414bobo$6158bo2832b2o762bobo414b
o$6159bo2831b2o763b2o4$10256b3o$10256bo$10257bo$9303b2o216b2o$9303b2o
216b2o$8084bo$8085bo890b2o$8083b3o890b2o$6595b2o$6201bo392b2o3244bobo
371b2o$6200b2o394bo3244b2o370b2o$6200bobo3275bo362bo373bo$9476bobo$
9477b2o$9288b2o216b2o$9288b2o216b2o791bo$10298b2o$8961b2o1335bobo$
8961b2o$9686bo$8168bo1515bobo$8169b2o1514b2o$8168b2o2$6636b3o2460bo$
6242b2o392bo2461bo174b2o216b2o762b3o$6242bobo392bo2460b3o172b2o216b2o
762bo$6242bo4013bo$8011bo934b2o$8012bo933b2o$8010b3o$10340b2o$9767bobo
570bobo$9768b2o570bo$9768bo2$9258b2o$9258b2o2$6679bo2251b2o$6678b2o
2251b2o1365bo$6284b2o392bobo3616b2o$6283b2o4012bobo$6285bo1809bo$8096b
2o$8095b2o$9853bo$9243b2o609bo527b2o$9243b2o607b3o526b2o$10383bo$8916b
2o$8916b2o4$6720b2o$6720bobo3616b2o$6325b3o392bo2975bobo640bobo$6325bo
1855bo1046b2o467b2o640bo$6326bo1852bobo1046b2o467bo$8180b2o$8901b2o$
8901b2o155bo$9056b2o1365b3o$9057b2o1364bo$10424bo$8022bo$8023b2o$8022b
2o$9213b2o565bo$9213b2o566bo$6762b2o3015b3o$6368bo392b2o2123b2o1493b2o
$6367b2o394bo2122b2o1492b2o$6367bobo4012bo4$10466bo$10465b2o$9198b2o
1265bobo$8108bo1089b2o$8106bobo$8107b2o762b2o$8871b2o991bo$9865b2o$
9864b2o$6803b3o$6409b2o392bo3618b3o$6409bobo392bo3617bo$6409bo4013bo$
9183b2o$9183b2o2$8856b2o851bo797b2o$8856b2o852bo796bobo$8191bobo1514b
3o796bo$8192b2o$8192bo2$9015bo$9015bobo$6846bo2168b2o151b2o$6845b2o
2321b2o1295bo$6451b2o392bobo1187bo2428b2o$6450b2o1581bobo805b2o1621bob
o$6452bo1581b2o805b2o$9791bo$9792b2o$9791b2o$10549b2o$10548b2o$10550bo
$9153b2o$9153b2o2$8826b2o$8826b2o$6887b2o$6887bobo1228bobo2385b2o$
6492b3o392bo1231b2o2385bobo$6492bo1626bo2386bo$6493bo3383bo$9875bobo$
9138b2o736b2o$9138b2o$10590b3o$8811b2o1777bo$8811b2o1778bo4$9720bo$
8204bo1516b2o$6929b2o1274bo1514b2o$6535bo392b2o1273b3o917b2o1423b2o$
6534b2o394bo2192b2o1422b2o$6534bobo4012bo$8796b2o175bobo$8796b2o175b2o
$8974bo$10633bo$8045bobo2584b2o$8046b2o2584bobo$8046bo$9804bo$9108b2o
692bobo$9108b2o693b2o2$8781b2o$6970b3o1808b2o$6576b2o392bo3618b3o$
6576bobo392bo3617bo$6576bo4013bo3$8131bo$8132bo960b2o1579b2o$8130b3o
960b2o1579bobo$10674bo$8766b2o1119bobo$8766b2o1120b2o$9888bo3$7013bo$
7012b2o3618bo$6618b2o392bobo3616b2o$6617b2o2459b2o1551bobo$6619bo2458b
2o$9733bo$8215bo535b2o978bobo$8216b2o533b2o979b2o$8215b2o2499b2o$
10715b2o$8932bo1784bo$8931bo$8931b3o2$8058bo1004b2o$8059bo1003b2o$
7054b2o1001b3o$7054bobo1679b2o1935b2o$6659b3o392bo1681b2o1076bobo856bo
bo$6659bo3155b2o856bo$6660bo3154bo4$10757b3o$9048b2o1707bo$9048b2o
1708bo2$8721b2o$8142bo578b2o$8143b2o$8142b2o$7096b2o2802bo$6702bo392b
2o2804bo813b2o$6701b2o394bo2801b3o812b2o$6701bobo4012bo$9033b2o$9033b
2o2$8706b2o2092bo$8706b2o2091b2o$10799bobo2$9743bobo$8228bo1515b2o$
8226bobo1515bo$8227b2o$9018b2o$7137b3o1751bo126b2o$6743b2o392bo1751b2o
1865b3o$6743bobo392bo1552b2o197b2o1864bo$6743bo1947b2o2064bo$8069bo$
8070b2o$8069b2o$9827bo1013b2o$9828bo1012bobo$9826b3o1012bo$9003b2o$
9003b2o2$8676b2o$8676b2o$7180bo$7179b2o3618bo$6785b2o392bobo3616b2o$
6784b2o4012bobo$6786bo1368bo$8153bobo$8154b2o832b2o$8988b2o921bo$9912b
2o969b2o$8661b2o1248b2o969b2o$8661b2o2221bo6$7221b2o$7221bobo1749b2o
781bo1083b2o$6826b3o392bo1751b2o782bo1082bobo$6826bo1411bobo1514b3o
1082bo$6827bo1411b2o405b2o$8239bo406b2o2$8848bo$8848bobo2073b3o$8848b
2o2074bo$10925bo$8082bo$8080bobo875b2o$8081b2o875b2o$9838bo$8631b2o
1206b2o$7263b2o1366b2o1205b2o$6869bo392b2o3618b2o$6868b2o394bo3616b2o$
6868bobo4012bo4$8943b2o2022bo$8943b2o2021b2o$10966bobo$8165bobo448b2o$
8166b2o448b2o$8166bo$9924bo$9922bobo$9923b2o$7304b3o$6910b2o392bo3618b
3o$6910bobo392bo1622b2o1993bo$6910bo2017b2o1994bo2$8601b2o$8601b2o$
9767bo1240b2o$8251bo1516b2o1238bobo$8252bo1514b2o1239bo$8250b3o3$8806b
obo104b2o$8806b2o105b2o$7347bo1459bo$7346b2o1238b2o2378bo$6952b2o392bo
bo743bobo491b2o2377b2o$6951b2o1140b2o2870bobo$6953bo1139bo$9851bo$
9849bobo$9850b2o$11050b2o$8898b2o2149b2o$8898b2o2151bo2$8571b2o$8571b
2o3$7388b2o788bo$7388bobo788bo2827b2o$6993b3o392bo788b3o2827bobo$6993b
o4013bo$6994bo1888b2o1049bobo$8883b2o1050b2o$9935bo$8556b2o$8556b2o
2533b3o$11091bo$11092bo4$9780bo$8262bo605b2o908bobo$7430b2o831b2o603b
2o909b2o$7036bo392b2o831b2o2785b2o$7035b2o394bo1109b2o2505b2o$7035bobo
1503b2o222bo2284bo$8764bo$8764b3o2$8105bo3028bo$8106bo3026b2o$8104b3o
3026bobo$8853b2o$8853b2o1006bobo$9862b2o$8526b2o1334bo$8526b2o2$7471b
3o$7077b2o392bo3618b3o$7077bobo392bo3617bo$7077bo4013bo2$8838b2o$8189b
o648b2o$8190b2o2983b2o$8189b2o320b2o2662bobo$8511b2o1434bo1227bo$9948b
o$9946b3o4$7514bo$7513b2o1308b2o2308bo$7119b2o392bobo1307b2o2307b2o$
7118b2o4012bobo$7120bo1375b2o$8496b2o1292bobo$8275bo1515b2o$8273bobo
1515bo$8274b2o2941b2o$11216b2o$8724bo2493bo$8722b2o$8723b2o83b2o$8808b
2o$8116bo$8117b2o362b2o$7555b2o559b2o363b2o$7555bobo2316bo1299b2o$
7160b3o392bo2319bo1298bobo$7160bo2712b3o1298bo$7161bo3$8793b2o$8793b2o
2463b3o$11258bo$8466b2o2791bo$8466b2o2$8202bo$8200bobo$8201b2o$7597b2o
2359bo$7203bo392b2o2361b2o1255b2o$7202b2o394bo1179b2o1178b2o1255b2o$
7202bobo1573b2o2437bo2$8451b2o$8451b2o$11301bo$11300b2o$11300bobo$
9803bo$9804bo$8285bobo1514b3o$8286b2o475b2o$8286bo476b2o2$7638b3o795b
2o243bo$7244b2o392bo797b2o243bobo2573b3o$7244bobo392bo1041b2o2574bo$
7244bo4013bo$8129bo$8127bobo$8128b2o$9885bo1456b2o$8748b2o1136b2o1454b
obo$8748b2o1135b2o1455bo2$8421b2o$8421b2o3$7681bo$7680b2o3618bo$7286b
2o392bobo3616b2o$7285b2o4012bobo$7287bo924bobo518b2o$8213b2o518b2o$
8213bo$8406b2o1563bo$8406b2o1561bobo1412b2o$9970b2o1411b2o$11385bo5$
8718b2o$7722b2o994b2o$7722bobo2089bo1526b2o$7327b3o392bo575bo92b2o
1422b2o1524bobo$7327bo971bo91b2o1421b2o1525bo$7328bo968b3o3$8639bobo$
8639b2o2784b3o$8640bo2784bo$8703b2o2721bo55bo$8139bobo561b2o2775bob2o$
8140b2o3337bo2bo$8140bo235b2o3100bo2bo$8376b2o1520bo1580b2o$9896bobo
1579bobo3bo$7764b2o2131b2o1579b3o3b2o$7370bo392b2o3618b2o93bo6bo$7369b
2o394bo3616b2o97bob3o$7369bobo4012bo95bo4bo$11482bobo$8688b2o2792b3o$
8688b2o2780b2o$11470bobo$8361b2o3105bo3bo6bo$8225bo135b2o3102b2ob2obob
o4bobo$8226bo3238b2o2bo2bobo2bo$8224b3o3237bob4o3b3obob2o34b2o$11468b
2o7bobo2bo31b2o$9981bobo1483bobo3bo8bo33bo$9982b2o1483b3o3bo5bo2b2obo$
9982bo1484b3o2b2obo$7805b3o865b2o2795b2o6bo$7411b2o392bo867b2o2749b3o
43b2o2b4o$7411bobo392bo3617bo45b3ob2o$7411bo934b2o3077bo$8346b2o3$
9827bo1636b2o$8309bo1515bobo1636b2o$8310b2o1514b2o$8309b2o$8658b2o
2801b2o93b3o$8598bo59b2o2803bo92bo$8597bo2863b2o94bo$8331b2o264b3o$
7848bo482b2o$7847b2o303bo3314bo$7453b2o392bobo303bo3312b2o$7452b2o697b
3o3295b2o15bobo$7454bo3994b2o65bo$9908bobo1604b2o$9909b2o1603b2o2bo$
8643b2o1264bo1607b3o$8643b2o2872b3o$11516bo$8316b2o3185bo11bo3bo$8316b
2o3185bo11bo3bo79bo$11503bo9bob2o81b2o$11515b3o80bobo$11434b2o64bo7bo
6bo$11434b2o63bobo6b4o3b3o$7889b2o345bo3263bo6b5o$7889bobo345b2o3272bo
4b3o$7494b3o392bo346b2o390b2o2877bo8bo$7494bo1133b2o1364bo1497bobo13b
3o5bo$7495bo2499bo1497b2o13b3o$8301b2o1690b3o1497bo61b3o$8301b2o3252bo
$11556bo2$11419b2o$11419b2o$11492bo147b2o$11491bobo146bobo$8613b2o
2877b2o3b2o141bo$8613b2o1222bobo1657b2ob2o$8322bo1515b2o1656bo2b3o$
7931b2o353b2o32bobo1515bo1657bob3o$7537bo392b2o354b2o33b2o3174b3o$
7536b2o394bo3565bo$7536bobo1018bo$8555b2o2847b2o192bo$8556b2o2846b2o
191b2o$11597bobo$8163bo$8164b2o432b2o$8163b2o433b2o$9921bo$8271b2o
1649bo1759b2o$8271b2o1647b3o1758b2o$11683bo50b2o$11733bo2bo$11389b2o
341bo3bo$7972b3o3414b2o132bo207bo2bob2o$7578b2o392bo3548bobo207b2o3bo$
7578bobo392bo3548b2o207b2ob2o$7578bo1004b2o3149b2o$8583b2o3054b2o92b2o
$11639bobo91bob2o$8249bo6b2o3381bo81bo11b4o$8247bobo6b2o3463bo10b4o$
8248b2o3471bo9bobo$10005bo1726bo3bo$10006b2o1366b2o342bo6bo8b2obo$
10005b2o1367b2o341bobo5b2o8b2o$11718bo6bobo6bo$11460bo260b2o3b3o5b2o$
8568b2o2889bo261b3o9b2obo34b2o$8015bo552b2o2889b3o259b2obo8b2o36bobo$
8014b2o3707b3o9bo35bo$7620b2o392bobo224b2o3480b3o$7619b2o620b2o$7621bo
2228bo$9851bo1829b2o$8332bobo1514b3o1507b2o319b2o$8333b2o3024b2o321bo$
8333bo3380bo$11709b2o2bob2o$8514bo38b2o3154bob3o$8514bobo36b2o3155bo3b
2o$8514b2o$8226b2o$8176bo49b2o3489bo$8174bobo3539bobo94b2o$8056b2o117b
2o3540bo94b2o$8056bobo1873bo1411b2o468bo$7661b3o392bo1876b2o1409b2o$
7661bo2270b2o1768b2o$7662bo4039b2o$8538b2o3182b3o$8538b2o3182bo$11533b
obo187bo$8211b2o3321b2o234b2o$8211b2o3321bo234bobo$11769b3o$11768bo$
11329b2o425b3o9bobo$8259bobo3067b2o431b2o4bobo$8260b2o3425b2o78bobo$
8260bo3426b2o54bo10bo5bo3b2o88b3o$8098b2o423b2o1493bo1725bo8bobo4bo5b
2ob2o83bo$7704bo392b2o424b2o1491bobo1723b3o9bo9bo4bobo83bo$7703b2o394b
o1917b2o1741bobo3bo2bobo$7703bobo490b2o3563b2o3bo3bo$8196b2o3221bo344b
o$11417b2o$11418b2o$11314b2o$11314b2o496b2o$11672b2o137b2o$9861bo1810b
2o139bo$8345bo162b2o1352b2o$8346bo161b2o1351b2o1883bo4bo$8344b3o3398bo
bo3b2o$11746b2o4bo144bo$11751bo144b2o$8139b3o330bobo3275b2o144bobo$
7745b2o392bo332b2o3273bo2b2o$7745bobo392bo332bo2825b2o446bo2bo10bo$
7745bo3553b2o446bobo2b2o7bo$11657b2o$11657b2o93bob2o$8493b2o3258b5o$
8493b2o1450bo1809bobo$9943bobo1810bo96b3o$9944b2o1907bo$11854bo2$
11546bo$11284b2o261bo$11284b2o259b3o390b2o$8182bo3459b2o129bobo162bobo
$8181b2o3459b2o130b2o162bo$7787b2o392bobo294b2o3294bo$7786b2o484bo205b
2o$7788bo484bo$8271b3o2$10028bobo$10029b2o1865bo$10029bo1239b2o624b2o$
11269b2o624bobo$11376bo250b2o$11376bobo248b2o$8463b2o2911b2o$8463b2o$
11980b2o$8223b2o3754b2o$8223bobo1648bo2106bo$7828b3o392bo132bo1515bobo
$7828bo528b2o1514b2o$7829bo526b2o2896b2o$11254b2o$8431bo3180b2o$8430bo
3181b2o$8430b3o15b2o3487b2o$8448b2o3487bobo$11937bo4$9955bobo$9956b2o
1281b2o780b3o$8265b2o1689bo1282b2o780bo$7871bo392b2o3331b2o423bo$7870b
2o394bo3330b2o$7870bobo560b2o3122bo$8433b2o3123b2o$11557b2o227bo$
11787bo$11785b3o$11979b2o$8283bo3694b2o$8284b2o2938b2o754bo$8283b2o
2939b2o$10041bo1540b2o$10042bo1539b2o$8418b2o1620b3o2021bo$8418b2o
3643b2o$8306b3o3754bobo$7912b2o392bo3027bobo$7912bobo392bo3026b2o$
7912bo3422bo2$11209b2o$11209b2o$9884bobo1680b2o$8369bo1515b2o1680b2o
451b3o$8367bobo33b2o1480bo2134bo$8368b2o33b2o3616bo2$8390bo$8388b2o$
8389b2o3714b2o$8349bo3755bobo$8348b2o2844b2o909bo$7954b2o392bobo2843b
2o$7953b2o3597b2o$7955bo2012bo1583b2o$8388b2o1579bo$8388b2o1577b3o2$
12063bo$12062b2o$11570bo491bobo$11568bobo$11179b2o388b2o226bo$11179b2o
617b2o$11537b2o258b2o$11537b2o608b2o$8296bo76b2o3771b2o$8294bobo76b2o
3773bo$7995b3o297b2o$7995bo2056bo$7996bo2056b2o$10052b2o2$11164b2o127b
o$11164b2o126bo811b2o$11292b3o227b2o580bobo$11522b2o580bo$8358b2o$
8358b2o$9897bo$9898bo$9896b3o2289b3o$12188bo$8038bo4150bo$8037b2o3110b
2o$8037bobo3109b2o$11507b2o$11507b2o$8343b2o$8343b2o$12146b2o$12145b2o
$9979bo2167bo$9980b2o$9979b2o$11134b2o$11134b2o1095bo$11492b2o736b2o$
11492b2o86bobo647bobo$8079b2o247b2o3251b2o$8079bobo246b2o3251bo228bo$
8079bo3728bobo$11809b2o2$8306bobo$8307b2o$8307bo2811b2o1066b3o$10065bo
1053b2o1066bo$10063bobo1411b2o709bo$10064b2o1411b2o$8313b2o$8313b2o
2937bo$11250b2o1020b2o$11251b2o1019bobo$12272bo$8121b2o$8120b2o$8122bo
1785bo1195b2o$9909b2o1193b2o$9908b2o1552b2o$11462b2o$12230bo$12229b2o$
12229bobo5$11089b2o1223b2o$11089b2o1222b2o$9992bo1454b2o866bo$8162b3o
1825bobo1454b2o$8162bo1828b2o$8163bo2$11593bo$11594bo$11592b3o676b2o$
11820bobo448bobo$11074b2o745b2o448bo$11074b2o745bo$11432b2o$11432b2o3$
10075bobo$8205bo1870b2o$8204b2o1870bo$8204bobo$11209bo$11059b2o148bobo
$11059b2o148b2o$11417b2o$11417b2o894b2o$12312b2o$9921bo2392bo$9919bobo
$9920b2o4$11044b2o$8246b2o2796b2o$8246bobo3153b2o$8246bo3155b2o4$
10002bobo$10003b2o$10003bo2$11029b2o$11029b2o573bo$11387b2o216b2o$
11387b2o215b2o227bo$11834bo$11832b3o$8288b2o$8287b2o$8289bo2$10088bo$
10089bo924b2o$10087b3o924b2o$11372b2o$11372b2o$11167bobo$11167b2o$
11168bo4$9931bobo$8329b3o1600b2o1065b2o$8329bo1602bo1066b2o$8330bo
3026b2o$11357b2o8$10015bo968b2o$10016bo967b2o$10014b3o1325b2o$11342b2o
$8372bo$8371b2o$8371bobo3243bo$11615bobo$11616b2o226bo$11845b2o$11844b
2o$10969b2o$10969b2o$11327b2o$11327b2o$10099bo$10100b2o$10099b2o2$
11126bo$8413b2o2710bo$8413bobo2709b3o$8413bo2540b2o$10954b2o$11312b2o$
9944bo1367b2o$9945bo$9943b3o6$10939b2o$10939b2o$11297b2o$8455b2o2840b
2o$8454b2o$8456bo1569bo$10027b2o$10026b2o4$10924b2o701bobo$10924b2o
702b2o$11282b2o344bo228bo$11282b2o571bobo$11856b2o4$8496b3o$8496bo
1615bo$8497bo1612bobo$10111b2o796b2o$10909b2o$11085bo181b2o$11083b2o
182b2o$11084b2o4$9955bo$9956b2o$9955b2o$10894b2o$8539bo2354b2o$8538b2o
2712b2o$8538bobo2711b2o7$10039bo$10037bobo839b2o$10038b2o839b2o$11237b
2o$11237b2o$11640bo$11641bo$8580b2o3057b3o$8580bobo3284bobo$8580bo
3287b2o$11868bo2$10864b2o$10864b2o$11222b2o$10122bobo1097b2o$10123b2o$
10123bo2$11042bo$11042bobo$11042b2o2$8622b2o2225b2o$8621b2o2226b2o$
8623bo1344bo1238b2o$9966bobo1238b2o$9967b2o7$10834b2o$10834b2o$11192b
2o$11192b2o$10049bobo$8663b3o1384b2o$8663bo1386bo$8664bo2$11651bo$
11652b2o$10819b2o830b2o227bo$10819b2o1060bo$11177b2o700b3o$11177b2o4$
10135bo$10136bo$8706bo1427b3o$8705b2o$8705bobo2096b2o$10804b2o194bobo$
11000b2o160b2o$11001bo160b2o4$9978bobo$9979b2o$9979bo2$10789b2o$10789b
2o$11147b2o$8747b2o2398b2o$8747bobo$8747bo3$10062bo$10063bo$10061b3o$
10774b2o$10774b2o$11132b2o$11132b2o530bo$11662bobo$11663b2o226bo$
11892b2o$11891b2o$8789b2o$8788b2o$8790bo$10759b2o$10146bo612b2o$10147b
2o968b2o$10146b2o969b2o2$10959bo$10958bo$10958b3o4$9991bo752b2o$9992bo
751b2o$8830b3o1157b3o1109b2o$8830bo2271b2o$8831bo7$10729b2o$10729b2o$
10073bo1013b2o$10074b2o1011b2o$10073b2o2$8873bo$8872b2o$8872bobo2799bo
bo$11675b2o$11675bo228bo$10714b2o1186bobo$10714b2o1187b2o$11072b2o$
11072b2o3$10159bo$10157bobo$10158b2o2$10918bo$8914b2o1783b2o215b2o$
8914bobo1782b2o216b2o$8914bo2142b2o$11057b2o2$10002bo$10003b2o$10002b
2o4$10684b2o$10684b2o$11042b2o$11042b2o2$8956b2o$8955b2o$8957bo1128bo$
10084bobo$10085b2o2$10669b2o$10669b2o1016bo$11027b2o659bo$11027b2o657b
3o$11914bobo$11915b2o$11915bo4$8997b3o$8997bo1171bobo482b2o$8998bo
1171b2o482b2o$10170bo841b2o$11012b2o$10875bo$10875bobo$10875b2o4$
10015bo$10013bobo623b2o$10014b2o623b2o$10997b2o$9040bo1956b2o$9039b2o$
9039bobo6$10624b2o$10096bobo525b2o$10097b2o883b2o$10097bo884b2o3$
11698bo$11699b2o$9081b2o2615b2o227bo$9081bobo2844bo$9081bo2844b3o$
10609b2o$10609b2o$10967b2o$10967b2o$10182bo$10183bo$10181b3o3$10833bob
o$10833b2o$10594b2o238bo$10594b2o$9123b2o1827b2o$9122b2o1828b2o$9124bo
900bobo$10026b2o$10026bo5$10579b2o$10579b2o$10937b2o$10937b2o2$10109bo
$10110bo$9164b3o941b3o$9164bo$9165bo2$10564b2o1145bo$10564b2o1143bobo$
10922b2o786b2o226bo$10922b2o1015b2o$11938b2o5$10193bo$10194b2o$9207bo
985b2o354b2o$9206b2o1341b2o$9206bobo1583bo114b2o$10791bo115b2o$10791b
3o4$10038bo$10039bo$10037b3o$10534b2o$10534b2o$10892b2o$10892b2o2$
9248b2o$9248bobo$9248bo3$10120bo$10121b2o396b2o$10120b2o397b2o$10877b
2o$10877b2o2$11721bobo$11722b2o$11722bo228bo$11949bobo$11950b2o$9290b
2o$9289b2o1213b2o$9291bo1212b2o$10862b2o$10206bo655b2o$10204bobo$
10205b2o2$10751bo$10749b2o$10750b2o2$10489b2o$10489b2o$10049bo797b2o$
10050b2o795b2o$9331b3o715b2o$9331bo$9332bo5$10474b2o$10474b2o$10832b2o
$10832b2o$10133bo$10131bobo$10132b2o2$9374bo$9373b2o2359bo$9373bobo
2359bo$10459b2o1272b3o$10459b2o1500bobo$10817b2o1143b2o$10817b2o1143bo
5$10216bobo$10217b2o$10217bo$10444b2o$10444b2o262bo$9415b2o1291bobo91b
2o$9415bobo1290b2o92b2o$9415bo3$10062bo$10060bobo$10061b2o2$10429b2o$
10429b2o$10787b2o$10787b2o4$9457b2o$9456b2o$9458bo684bobo$10144b2o$
10144bo269b2o$10414b2o$10772b2o$10772b2o971bo$11746b2o$11745b2o227bo$
11975bo$11973b3o4$10399b2o$9498b3o728bo169b2o$9498bo731bo526b2o$9499bo
728b3o526b2o3$10666bobo$10666b2o$10667bo3$10384b2o$10072bobo309b2o$
10073b2o667b2o$10073bo668b2o2$9541bo$9540b2o$9540bobo4$10369b2o$10369b
2o$10156bo570b2o$10157bo569b2o$10155b3o4$11758bo$11756bobo$9582b2o
2173b2o226bo$9582bobo769b2o1630b2o$9582bo771b2o1629b2o$10712b2o$10712b
2o3$10240bo$10241b2o$10240b2o2$10625bo$10339b2o283bo$10339b2o283b3o$
10697b2o$10697b2o$9624b2o$9623b2o460bo$9625bo460bo$10084b3o4$10324b2o$
10324b2o$10682b2o$10682b2o4$10167bo$10168b2o$9665b3o499b2o$9665bo$
9666bo642b2o$10309b2o$10667b2o1099bobo$10667b2o1100b2o$11769bo228bo$
11996bobo$11997b2o5$10253bo40b2o$10251bobo40b2o$9708bo543b2o398b2o$
9707b2o943b2o$9707bobo874bo$10582b2o$10583b2o4$10096bo$10097b2o180b2o$
10096b2o181b2o$10637b2o$10637b2o4$9749b2o$9749bobo$9749bo2$10264b2o$
10180bo83b2o$10178bobo441b2o$10179b2o441b2o3$11781bo$11782bo$11780b3o$
12008bobo$12009b2o$10249b2o1758bo$9791b2o456b2o$9790b2o815b2o$9792bo
814b2o2$10263bobo$10264b2o$10264bo2$10541bo$10541bobo$10234b2o305b2o$
10234b2o$10592b2o$10592b2o$10109bo$10107bobo$9832b3o273b2o$9832bo$
9833bo3$10219b2o$10219b2o$10577b2o$10577b2o3$10190bobo$10191b2o$10191b
o2$9875bo$9874b2o328b2o1586bo$9874bobo327b2o1587b2o$10562b2o1228b2o
227bo$10562b2o1458bo$12020b3o5$10276bo$10277bo$10189b2o84b3o$10189b2o$
10547b2o$10499bobo45b2o$9916b2o581b2o$9916bobo581bo$9916bo3$10119bobo$
10120b2o$10120bo53b2o$10174b2o$10532b2o$10532b2o6$9958b2o$9957b2o244bo
$9959bo199b2o43bo$10159b2o41b3o$10517b2o$10517b2o2$11805bo$11803bobo$
11804b2o226bo$12033b2o$12032b2o2$10144b2o$10144b2o$10502b2o$9999b3o
285bo214b2o$9999bo288b2o$10000bo286b2o2$10458bo$10457bo$10457b3o4$
10487b2o$10487b2o4$10042bo$10041b2o$10041bobo4$10472b2o$10472b2o$
10214bo$10215b2o$10214b2o4$11815bobo$11816b2o$10083b2o1731bo228bo$
10083bobo371b2o1584bobo$10083bo373b2o1585b2o5$10300bo$10298bobo$10299b
2o2$10417bo$10415b2o25b2o$10416b2o24b2o3$10125b2o$10124b2o$10126bo5$
10427b2o$10427b2o6$10227bo$10225bobo$10166b3o57b2o$10166bo$10167bo244b
2o$10412b2o1414bo$11829bo$11827b3o$12055bobo$12056b2o$12056bo5$10310bo
bo84b2o$10311b2o84b2o$10209bo101bo$10208b2o$10208bobo163bo$10374bobo$
10374b2o5$10382b2o$10382b2o6$10250b2o$10250bobo$10250bo2$10367b2o$
10237bobo127b2o$10238b2o$10238bo3$11839bo$11840b2o$11839b2o227bo$
12069bo$12067b3o$10352b2o$10292b2o58b2o$10291b2o$10293bo$10323bo$
10324bo$10322b3o3$10332bobo$10332b2o$10333bo3b2o$10337b2o10$10322b2o$
10322b2o4$10250bo$10251bo$10249b3o4$10307b2o1543bo$10307b2o1541bobo$
11851b2o226bo$12080b2o$12079b2o7$10292b2o$10292b2o10$10277b2o$10277b2o
15$11862bobo$11863b2o$11863bo228bo$12090bobo$12091b2o33$11875bo$11876b
o$11874b3o$12102bobo$12103b2o$12103bo33$11886bo$11887b2o$11886b2o227bo
$12116bo$12114b3o34$11899bo$11897bobo$11898b2o226bo$12127b2o$12126b2o
34$11909bobo!
Nora Brown
User avatar
glider_rider
Posts: 197
Joined: February 20th, 2013, 5:41 pm
Location: CA

Re: (15,11)c/107 caterpillar thread

Post by glider_rider »

Here are the NE glider results of running the above script for like a day or so (unfortunately I had to stop it on shutting my computer off). I didn't see any with sufficiently high edginess but it's possible I missed something.
S6.zip
(1.12 MiB) Downloaded 118 times
Luckily, being forced to shut the script off is a great way to avoid the sunk cost fallacy, so here's a version that also allows the use of SE gliders:

Code: Select all

#SlowSalvoSynthSearch.py

import golly as g
from glife import *
import math
import os
from collections import deque

name = "SlowSalvoSynthSearch"

startingTargets = [g.parse("2o$2o!",0,0), g.parse("6bo$5bobo$5bobo$6bo2$b2o7b2o$o2bo5bo2bo$b2o7b2o2$6bo$5bobo$5bobo$6bo!",-5,-6)]

gliderTypes = [[g.parse("3o$o$bo!",0,0),-1,-1,4,0],
               [g.parse("bo$2bo$3o!",-2,-2),1,1,4,1]]

testGens = 512

shipDX = 15
shipDY = -11
shipDT = 107

#TODO: Construct these automatically
gliderPairs = [g.parse("3o$o$bo13$43bo$42b2o$42bobo!",0,0), g.parse("obo$b2o$bo35$13bo$14bo$12b3o!",-14,-39)]

def mod(x,m):
    return ((x % m) + m) % m

#handles empty patterns better
def getrect():
    if g.empty():
        return [0,0,1,1]
    return g.getrect()

def boundRects(rect1, rect2):
    minX = min(rect1[0],rect2[0])
    minY = min(rect1[1],rect2[1])
    maxX = max(rect1[0]+rect1[2],rect2[0]+rect2[2])
    maxY = max(rect1[1]+rect1[3],rect2[1]+rect2[3])
    return [minX,minY,maxX-minX,maxY-minY]

def hashWithColor():
    return (g.hash(getrect()), mod(getrect()[0]-getrect()[1], 2))

def getLanePhase(lane, gliderType):
    return mod(lane // 2 + gliderTypes[gliderType][4], 2)

def main():
    numSolutions = 0
    
    g.addlayer()

    #Construct NW/SE glider parity states for convenience
    gliderTypesStates = []
    for gliderType in gliderTypes:
        gliderTypesStates.append([gliderType[0],g.evolve(gliderType[0],1)])
        
    gliderPairStates = []
    for gliderPair in gliderPairs:
        gliderPairStates.append([gliderPair,g.evolve(gliderPair,1)])

    targetsWithSynthDataQueue = deque()
    #Synth data: A list of elements of form [gliderDirection,lane]
    knownHashesWithColors = set()
    for targetIndex in range(len(startingTargets)):
        g.new(name)
        g.putcells(startingTargets[targetIndex])
        knownHashesWithColors.add(hashWithColor())
        targetsWithSynthDataQueue.append([startingTargets[targetIndex],[],targetIndex])

    while targetsWithSynthDataQueue:
        currentTargetWithSynthData = targetsWithSynthDataQueue.popleft()
        target = currentTargetWithSynthData[0]
        synthData = currentTargetWithSynthData[1]
        #startingTargetIndex = currentTargetWithSynthData[2]

        nextTargetForParallelChecking = g.evolve(target,1)

        g.new(name)
        g.putcells(target)
        targetBounds = getrect()

        #find bounds of target for NW gliders
        firstXForNWGliders = targetBounds[0] - 1
        lastXForNWGliders = targetBounds[0] + targetBounds[2] + targetBounds[3] + 6
        NWGliderPlaceY = targetBounds[1] + targetBounds[3] + 3
        
        #find bounds of target for SE gliders
        firstXForSEGliders = targetBounds[0] - targetBounds[3] - 7
        lastXForSEGliders = targetBounds[0] + targetBounds[2] - targetBounds[3] + 2
        SEGliderPlaceY = targetBounds[1] - 4

        gliderBoundsData = [[firstXForNWGliders,lastXForNWGliders,NWGliderPlaceY],[firstXForSEGliders,lastXForSEGliders,SEGliderPlaceY]]

        for gliderType in range(0,2):
            gliderPlaceY = gliderBoundsData[gliderType][2]
            gliderDX = gliderTypes[gliderType][1]
            gliderDY = gliderTypes[gliderType][2]
            gliderDT = gliderTypes[gliderType][3]
            for gliderPlaceX in range(gliderBoundsData[gliderType][0], gliderBoundsData[gliderType][1]+1):
                if mod(gliderPlaceX - gliderPlaceY,2) == 0:
                    #glider is of correct parity
                    gliderPhase = getLanePhase(gliderPlaceX - gliderPlaceY, gliderType)
                    glider = gliderTypesStates[gliderType][gliderPhase]

                    #Test for interaction
                    g.new(name)
                    g.putcells(target)
                    g.putcells(glider,gliderPlaceX + gliderDX * (testGens // gliderDT), gliderPlaceY + gliderDY * (testGens // gliderDT))
                    noInteractionHash = g.hash(getrect())

                    g.new(name)
                    g.putcells(target)
                    g.putcells(glider,gliderPlaceX,gliderPlaceY)
                    g.run(testGens)
                    interactionHash = g.hash(getrect())

                    if interactionHash != noInteractionHash:
                        #We have a nontrivial interaction
                        #Test that it works in parallel (up to 2x)
                        patRanTestGens = g.getcells(getrect())
                        g.run(shipDT)
                        patRanTestGensPlusShipDT = g.getcells(getrect())
                        g.new(name)
                        g.putcells(patRanTestGensPlusShipDT)
                        g.putcells(patRanTestGens,shipDX,shipDY)
                        parallelNoInteractionHash = g.hash(getrect())
                        
                        gliderPair = gliderPairStates[gliderType][gliderPhase]
                        g.new(name)
                        g.putcells(target)
                        #TODO: Fix this
                        g.putcells(nextTargetForParallelChecking,shipDX,shipDY)
                        g.putcells(gliderPair,gliderPlaceX,gliderPlaceY)
                        g.run(testGens + shipDT)
                        parallelInteractionHash = g.hash(getrect())

                        if parallelInteractionHash == parallelNoInteractionHash:
                            #Interaction works in parallel (up to 2x)
                            g.update()
                            
                            newSynthData = synthData.copy()
                            newSynthData.append([gliderType, gliderPlaceX - gliderPlaceY])
                            
                            #Test if the ash is period 2
                            g.new(name)
                            g.putcells(patRanTestGens)
                            patRanRect = getrect()
                            #patRanHash = interactionHash
                            g.run(2)
                            if getrect() == patRanRect and g.hash(getrect()) == interactionHash:
                                #We have period 2
                                #Check if target is new
                                checkHashWithColor = hashWithColor()
                                if not checkHashWithColor in knownHashesWithColors:
                                    #We're new, so register this hash and add this target to the queue
                                    knownHashesWithColors.add(checkHashWithColor)
                                    targetsWithSynthDataQueue.append([patRanTestGens, newSynthData, currentTargetWithSynthData[2]])
                            else:
                                #We do not have period 2
                                #So save this

                                #Sort solutions by spaceship directions outputted
                                #Good enough approximation: Use rounded bounding box (patRanRect, possibly minus the coords of targetBounds)
                                g.new(name)
                                g.putcells(patRanTestGens)
                                g.run(testGens * 3)
                                longTermRanRect = getrect()
                                expansionThreshold = testGens // 2
                                expansionThresholdMore = 3 * (testGens // 2)
                                patExpandedXMinus = (targetBounds[0] - longTermRanRect[0]) > expansionThreshold
                                patExpandedYMinus = (targetBounds[1] - longTermRanRect[1]) > expansionThreshold
                                patExpandedXPlus = ((longTermRanRect[0] + longTermRanRect[2]) - (targetBounds[0] + targetBounds[2])) > expansionThreshold
                                patExpandedYPlus = ((longTermRanRect[1] + longTermRanRect[3]) - (targetBounds[1] + targetBounds[3])) > expansionThreshold
                                patExpandedXMinusMore = (targetBounds[0] - longTermRanRect[0]) > expansionThresholdMore
                                patExpandedYMinusMore = (targetBounds[1] - longTermRanRect[1]) > expansionThresholdMore
                                patExpandedXPlusMore = ((longTermRanRect[0] + longTermRanRect[2]) - (targetBounds[0] + targetBounds[2])) > expansionThresholdMore
                                patExpandedYPlusMore = ((longTermRanRect[1] + longTermRanRect[3]) - (targetBounds[1] + targetBounds[3])) > expansionThresholdMore
                                saveSignature = 0
                                if patExpandedXMinus:
                                    saveSignature += 1
                                if patExpandedYMinus:
                                    saveSignature += 2
                                if patExpandedXPlus:
                                    saveSignature += 4
                                if patExpandedYPlus:
                                    saveSignature += 8
                                if patExpandedXMinusMore:
                                    saveSignature += 16
                                if patExpandedYMinusMore:
                                    saveSignature += 32
                                if patExpandedXPlusMore:
                                    saveSignature += 64
                                if patExpandedYPlusMore:
                                    saveSignature += 128
                                
                                #Construct display pattern
                                g.new(name)
                                g.putcells(startingTargets[currentTargetWithSynthData[2]],0,0)
                                g.putcells(startingTargets[currentTargetWithSynthData[2]],shipDX,shipDY)

                                for gliderIndex in range(len(newSynthData)):
                                    thisGliderData = newSynthData[gliderIndex]
                                    thisGliderType = thisGliderData[0]
                                    thisGliderDX = gliderTypes[thisGliderType][1]
                                    thisGliderDY = gliderTypes[thisGliderType][2]
                                    thisGliderDT = gliderTypes[thisGliderType][3]
                                    
                                    thisGliderLane = thisGliderData[1]
                                    thisGliderPhase = getLanePhase(thisGliderLane, thisGliderType)
                                    
                                    thisGliderX = thisGliderLane - (gliderIndex + 1) * thisGliderDX * (testGens // thisGliderDT)
                                    thisGliderY = - (gliderIndex + 1) * thisGliderDY * (testGens // thisGliderDT)
                                    thisGliderPair = gliderPairStates[thisGliderType][thisGliderPhase]
                                    
                                    g.putcells(thisGliderPair, thisGliderX, thisGliderY)

                                #make signature directory if doesn't exist yet
                                dirName = "S" + str(saveSignature)
                                if not os.path.isdir(dirName):
                                    os.makedirs(dirName)
                                
                                g.save(dirName + "/N"+str(numSolutions).zfill(6)+".rle","rle")
                                g.show("Solutions: "+str(numSolutions))
                                numSolutions = numSolutions+1
                                
main()
Nora Brown
User avatar
glider_rider
Posts: 197
Joined: February 20th, 2013, 5:41 pm
Location: CA

Re: (15,11)c/107 caterpillar thread

Post by glider_rider »

Progress updates and brainstorming (hopefully the multiple posting I've been doing here is okay):

Found a suitable two-sided synthesis allowing a rake edgy enough to construct the LWSS turner salvo:

Code: Select all

x = 17411, y = 5851, rule = B3/S23
2602b2o$2603b2o$2602bo2$2597b3o$2599bo$2598bo10$2590b3o$2592bo$2591bo$
2586bo$2586b2o$2585bobo10$2579bo$2579b2o$2578bobo2$2574b2o$2573bobo$
2575bo10$2567b2o$2566bobo$2568bo2$2562b2o$2563b2o$2562bo10$2555b2o$
2556b2o$2555bo2$2550b3o$2552bo$2551bo10$2543b3o$2545bo$2544bo$2539bo$
2539b2o$2538bobo10$2532bo$2532b2o$2531bobo2$2527b2o$2526bobo$2528bo4$
329b2o$328b2o$330bo4$2520b2o$2519bobo$2521bo2$2515b2o$2516b2o$2515bo4$
370b3o$370bo$371bo4$2508b2o$2509b2o$2508bo2$2503b3o$2505bo$2504bo3$
333b3o77bo$333bo78b2o$334bo77bobo5$2496b3o$2498bo$2497bo$2492bo$2492b
2o$2491bobo3$376bo$375b2o77b2o$375bobo76bobo$454bo4$2485bo$2485b2o$
2484bobo2$2480b2o$2479bobo$2481bo3$417b2o$417bobo76b2o$417bo77b2o$497b
o4$2473b2o$2472bobo$2474bo2$2468b2o$2469b2o$2468bo3$459b2o$458b2o77b3o
$460bo76bo$538bo4$2461b2o$2462b2o$2461bo2$2456b3o$2458bo$2457bo3$500b
3o77bo$500bo78b2o$501bo77bobo5$2449b3o$2451bo$2450bo$2445bo$2445b2o$
2444bobo3$543bo$542b2o77b2o$542bobo76bobo$621bo4$2438bo$2438b2o$2437bo
bo2$2433b2o$2432bobo$2434bo3$584b2o$584bobo76b2o$584bo77b2o$664bo4$
2426b2o$2425bobo$2427bo2$2421b2o$2422b2o$2421bo3$626b2o$625b2o77b3o$
627bo76bo$705bo4$2414b2o$2415b2o$2414bo2$2409b3o$2411bo$2410bo3$667b3o
77bo$667bo78b2o$668bo77bobo5$2402b3o$2404bo$2403bo$2398bo$2398b2o$
2397bobo3$710bo$709b2o77b2o$709bobo76bobo$788bo4$2391bo$2391b2o$2390bo
bo2$2386b2o$2385bobo$2387bo3$751b2o$751bobo76b2o$751bo77b2o$831bo4$
2379b2o$2378bobo$2380bo2$2374b2o$2375b2o$2374bo3$793b2o$792b2o77b3o$
794bo76bo$872bo4$2367b2o$2368b2o$2367bo2$2362b3o$2364bo$2363bo3$834b3o
77bo$834bo78b2o$835bo77bobo5$2355b3o$2357bo$2356bo$2351bo$2351b2o$
2350bobo3$877bo$876b2o77b2o$876bobo76bobo$955bo4$2344bo$2344b2o$2343bo
bo2$2339b2o$2338bobo$2340bo3$918b2o$918bobo76b2o$918bo77b2o$998bo4$
2332b2o$2331bobo$2333bo2$2327b2o$2328b2o$2327bo3$960b2o$959b2o77b3o$
961bo76bo$1039bo4$2320b2o$2321b2o$2320bo2$2315b3o$2317bo$2316bo3$1001b
3o77bo$1001bo78b2o$1002bo77bobo5$2308b3o$2310bo$2309bo$2304bo$2304b2o$
2303bobo3$1044bo$1043b2o77b2o$1043bobo76bobo$1122bo4$2297bo$2297b2o$
2296bobo2$2292b2o$2291bobo$2293bo3$1085b2o$1085bobo76b2o$1085bo77b2o$
1165bo4$2285b2o$2284bobo$2286bo2$2280b2o$2281b2o$2280bo3$1127b2o$1126b
2o77b3o$1128bo76bo$1206bo4$2273b2o$2274b2o$2273bo2$2268b3o$2270bo$
2269bo3$1168b3o77bo$1168bo78b2o$1169bo77bobo5$2261b3o$2263bo$2262bo$
2257bo$2257b2o$2256bobo3$1211bo$1210b2o77b2o$1210bobo76bobo$1289bo4$
2250bo$2250b2o$2249bobo2$2245b2o$2244bobo$2246bo3$1252b2o$1252bobo76b
2o$1252bo77b2o$1332bo4$2238b2o$2237bobo$2239bo2$2233b2o$2234b2o$2233bo
3$1294b2o$1293b2o77b3o$1295bo76bo$1373bo4$2226b2o$2227b2o$2226bo2$
2221b3o$2223bo$2222bo3$1335b3o77bo$1335bo78b2o$1336bo77bobo5$2214b3o$
2216bo$2215bo$2210bo$2210b2o$2209bobo3$1378bo$1377b2o77b2o$1377bobo76b
obo$1456bo4$2203bo$2203b2o$2202bobo2$2198b2o$2197bobo$2199bo3$1419b2o$
1419bobo76b2o$1419bo77b2o$1499bo4$2191b2o$2190bobo$2192bo2$2186b2o$
2187b2o$2186bo3$1461b2o$1460b2o77b3o$1462bo76bo$1540bo4$2179b2o$2180b
2o$2179bo2$2174b3o$2176bo$2175bo3$1502b3o77bo$1502bo78b2o$1503bo77bobo
5$2167b3o$2169bo$2168bo$2163bo$2163b2o$2162bobo3$1545bo$1544b2o77b2o$
1544bobo76bobo$1623bo4$2156bo$2156b2o$2155bobo2$2151b2o$2150bobo$2152b
o3$1586b2o$1586bobo76b2o$1586bo77b2o$1666bo4$2144b2o$2143bobo$2145bo2$
2139b2o$2140b2o$2139bo3$1628b2o$1627b2o77b3o$1629bo76bo$1707bo4$2132b
2o$2133b2o$2132bo2$2127b3o$2129bo$2128bo3$1669b3o77bo$1669bo78b2o$
1670bo77bobo5$2120b3o$2122bo$2121bo$2116bo$2116b2o$2115bobo3$1712bo$
1711b2o77b2o$1711bobo76bobo$1790bo4$2109bo$2109b2o$2108bobo2$2104b2o$
2103bobo$2105bo3$1753b2o$1753bobo76b2o$1753bo77b2o$1833bo4$2097b2o$
2096bobo$2098bo2$2092b2o$2093b2o$2092bo3$1795b2o$1794b2o77b3o$1796bo
76bo$1874bo4$2085b2o$2086b2o$2085bo2$2080b3o$2082bo$2081bo3$1836b3o77b
o$1836bo78b2o$1837bo77bobo5$2073b3o$2075bo$2074bo$2069bo$2069b2o$2068b
obo3$1879bo$1878b2o77b2o$1878bobo76bobo$1957bo4$2062bo$2062b2o$2061bob
o2$2057b2o$2056bobo$2058bo3$1920b2o$1920bobo76b2o$1920bo77b2o$2000bo4$
2050b2o$2049bobo$2051bo2$2045b2o$2046b2o$2045bo3$1962b2o$1961b2o77b3o$
1963bo76bo$2041bo4$2038b2o$2039b2o$2038bo2$2033b3o$2035bo$2034bo3$
2003b3o77bo$2003bo78b2o$2004bo77bobo5$2026b3o$2028bo$2027bo$2022bo$
2022b2o$2021bobo3$2046bo$2045b2o77b2o$2045bobo76bobo$2124bo4$2015bo$
2015b2o$2014bobo2$2010b2o$2009bobo$2011bo3$2087b2o$2087bobo76b2o$2087b
o77b2o$2167bo4$2003b2o$2002bobo$2004bo2$1998b2o$1999b2o$1998bo3$2129b
2o$2128b2o77b3o$2130bo76bo$2208bo4$1991b2o$1992b2o$1991bo2$1986b3o$
1988bo$1987bo$2274b2o$2274b3o$2170b3o77bo22bobob2o$2170bo78b2o25b2ob2o
$2171bo77bobo20b2o2b4obo$2275bobo3bo$2275b4ob2o15b2o$2275bo3bo16b2o$
2277b3o18bo$1979b3o$1981bo$1980bo285b2o$1975bo290b2o$1975b2o$1974bobo
289b2o$2262bo3b2o$2262b2o$2213bo47bob2o4bo$2212b2o49b2o$2212bobo47b3o
3bo3bo91bo$2264bo3bo93b2obo$2262bo5bo97bo$2262bob2ob2ob2o66b3o20bo3b2o
bo$2263bo3b4o67bo26bo2b2o$1968bo370bo21b2o6b2o$1968b2o394b3o2bo16b2o$
1967bobo395bob2o17bobo$2284bo81b2o18bo$1963b2o291b2o24bobo$1962bobo
291b2o25b2o$1964bo390b2o$2355b2o2$2254b2o99b2o$2254bobo98b2o$2254bo57b
obo35b3o7bo$2311bo2bo37bo6bo$2311bo3bo34bo2bo4b3o$2311bo2bo35bobo5b3o$
2241b2o110bo3bob2o$1956b2o283b2o65bo4bo37b3o3bobo$1955bobo349bobo2b2o
37b3obobob2o67b2o$1957bo354b2o2bo41bo68b2o$2307bo2bob2ob3o39bo71bo$
1951b2o354b4ob2o2b2o141bo16bo$1952b2o353bo2b2o4b2o141bo15b2o$1951bo
356bobo5b2o53bobo85bo7b3o5bobo$2309b2o34b2o25b2o90b2o5bo$2309b3obo3bo
27b2o25bo83bo8bo5bo$2296b2o19bo137bobo7bobo3bo$2226b2o67b2o8bo9b2o139b
o7b2o3b2o$2226b2o69bo4b2ob2o158bo2bo$2302b2o40bo115b3ob2o$2303bo3b2obo
32b2o115b3obo$2300b2o2bo2bo35bobo$2300b2o3bobo3b2o138bo$1944b2o355bo8b
2o138bobo$1945b2o362b3o$1944bo352b3o8b2o5bo14b2o116b2ob2o$2295b2o2bo7b
obo6bo13b2o114b2obobo$1939b3o354b6o5b3o4b3o128bo3bo67b2o$1941bo269b2o
84bo2bo2bo142bobo5b2o61bobo$1940bo270b2o87bo2bo143bo5b2obob2o57bo$
2303bo156bo$2454bobob4o85b3o14b3o$2408bo51b3o94b2o5bo$2407b3o42bob3o3b
2o90bo2b2o2bo5bo$2406bob3o39b2obob2ob3o84bo6bob3ob3o$2385b2o19b2o2b2o
36b2o7b3o84bobo7bobob2o$2315b2o68bobo23b2o32b5ob2o5bo86bo8bo3bo$2315b
2o68bo16b2o6b2o33b2o3bo103bobo$2402b2o6bo138b2ob3obo$1932b3o261b2o205b
o28b3o5b2o107b2o$1934bo261b2o234bo7b2o$1933bo499bo$1928bo471bo138b3o$
1928b2o470bo72bo66b2o$1927bobo470bo3bo69bo63bobo$2402bo2bo66b3o60b2ob
2o$2402bo3bo128b2obobo66bo$2395b2o5bo2bo129b3o68b2o$2394bo2bo5bobo136b
4ob2o57bobo$2394bo9b3o136bobobobo$2181b2o201bo13b2o4bo2bo17b2o116bob3o
2bo103b2o$2181b2o202bo9b5o5bobo17b2o117bo5bo102b2o$2383b3o14b2o3b2o89b
3o43bob2o4bo89bo14bo$2401b2o92bo3bo40b2o3bo3bo90bo11b2o$1921bo474bo3b
2o73bo19bo4bo36b2ob2o4b3o91bo10b2o$1921b2o474bo76b2o20bo3bo33b2o2bobo
104b2o3bobo$1920bobo492bo58bobo14b2o5b3o33b2o3bo97bo6bob2o2bo$2416b2o
73b2o143bobo6b2obob2o$1916b2o497b2o105b2o5b2o106bo7b2ob2ob3obo$1915bob
o472b2o101bo27b2o6b2o114bo2bo4b2o$1917bo472b2o101bo29bo116bo6bo$2166b
2o242b2o227bo4b3o$2166b2o242b2o76b3o70bo78bo2b2o$2326bo235b2o$2327b2o
163b3o66b2o$2326b2o163b4o$2484b2o5bo3bo199b3o$2483bo2bo5bo131bo70bo$
2484b3o6bobo127bob2o69bo$2484b2ob2o5bobo17b2o111b2o6bo107b2o$1909b2o
574bo2bo5b2o18b2o108bo3bobo3bo108bobo$1908bobo578b2o4bo129b2o3bo3bo2b
2o104bo$1910bo240b2o331bo5bo93b3o43bo2bo4bo89b3o$2151b2o332bo4bo94bobo
43bob2o3b2o100b3o$1904b2o580bo2bo73b3o13bo5bobo44bo3bob3o2b2o88b2o4bo$
1905b2o580bo17bo57bo15b2o5bo43b3o4b4o4bo80bo8b2o2bo$1904bo598bobo58bo
15b2o54b2o2b2ob2o80bobo5bo3bob2o3bo$2504b2o74b2o29b2o23bo3b2o84bo8bobo
3bo2bo$2584b2o25bobo22bo3b2o92bobo5b2o$2577bo3bo4bo24bo28bo87bo2b2o2b
2o$2499b2o76bo3bo2b2o35b2o14b3o89b5obo$2499b2o76bo43b2o106b2obo3bo$
2573bo236bo$2136b2o433bobo5b2ob2obo223bobo$2136b2o432bo9bobo136bo88b2o
bo$2571b2o10bo135bo65b2o21b2o3bo$1897b2o673bo140bo70b2o20bo2b3o2b2o$
1898b2o682b3o72bo54bobo8bobo60bo20b2obo4bo$1897bo757bobo55b2obo5bo88bo
3bo17bo$2574b2o80b2o56b4o2b4o2bo84bob2o17b2o$1892b3o678bob2o138bo3b3o
4bo85bo19bobo$1894bo678bo2bo29b2o112b3o4bo5bo$1893bo680b2o14bobo13b2o
73b2o39bo5bo$2591b2o60b2o21bo5b2o36bo3b2o2bo4bo67b2o$2121b2o305bo162bo
60b2o23b3o2bobo35bo5bo2bo2b2o67b2o$2121b2o303bobo225bo25bo4b2o33bo5bo
2bo2b2o$2427b2o257bo14bo24b2obo71b2o$2682b5o13b2o24b2obo71b2o$2678b4o
18bobo23b2obo28bo37b2o8b2o$2682b2o26b2o8bo6b2o29b2o37b2o6bo$2682b2o26b
2o8bo37bobo35bobo6bo$2339bo456b3o6bo$1885b3o449bobo251b2o77b2o129b2o2b
o93bobo$1887bo450b2o251b2o77b2o81bo3b3o36b2ob5obo92bo3bo$1886bo866bob
4ob2o36bo2bobo2b2o66b2o27b2o$1881bo224b2o450bo111b2o81bo6b3o41bo69bobo
20b4o4bo$1881b2o223b2o448b2o108b2ob3o72bobo7bob2o3b3o38b2o70bo25bo3bob
o$1880bobo674b2o107b2o77b2o6bo8b2o135b2o5b2o$2745bo8b3ob4o56bo80b2ob5o
14b3o$2758bobobo56bo80bo20bo$2667b4obo22b2o63bobo28b2o24b3o83b2o17bo$
2668bob4o21b2o61bo2b2o28b2o110bo$2668bobobobo83bobo$2515bobo58b2o92bo
2b3o65b3o6bo7b3o130b2o$2516b2o58b2o89b2ob3o2bo65bo2bo4bob2o3bo134b2o$
2516bo154b4o66bo2b2o3b4ob3o$2091b2o649bo5bo4bo35b3o99b2o$1874bo216b2o
648bo3bo3b2o2bobo33bo58bo38b2o2b2o$1874b2o812bo52b2ob2o2b3o2b3o34bo56b
2o37bo2bo$1873bobo813bo52bob2o2b2o3bo4bo87bo2bo$2687b3o52bo16b2o86b2o
41bo$1869b2o809b2o60bo4b2obo2bo4b2o16b2o70bo38bo2bo$1868bobo809b2o61bo
4b2o3bo22b2o109bobo2b3o98bo$1870bo874b4o4bo88b3o3b3o38b2o2bo70bo28bo$
2561b2o184bo94b3o3bobo36bobobo3b2o66b2o23bob2o3bo$2561b2o188bo97b2o37b
2ob2o2b2o66bobo25bo3b3o$2748b2o92b3o3bobo42b2o93bob2ob2ob2o$2076b2o
764bo2b2o2bobo137bo2bobo3bo12b2o$2076b2o765bo5bob3o136bo3bob2o12b2o$
2603bo136b2o102b3obo2bo56bo80bo6b2o14bo$2604bo135b2o106b2o31b2o26b2o
79bo3b2o$2602b3o227bo15bobob2o27b2o25b2o83b2o$2438bobo320b2o68b4o6bo8b
o$1862b2o575b2o320b2o67bo2b2o4b2o7bobo130b2o$1861bobo575bo394b2ob2o5bo
136b2o$1863bo682b2o287b2o3bo3b2o33b2o101bo$2546b2o287b2ob2ob4obo31b2o
98bobo$1857b2o971b2o3b2o5bo2b2o33bo57bo38bo4bo$1858b2o982b4o90b5o36bo
3bo$1857bo491bobo491bo91b3ob2o$2350b2o373b2o104bob2o7bobo5bo127b3o$
2350bo374b2o104b3o5bo8bobo15b2o110b2o$2832bo3bo2bo2b3o4b2o15b2o65bo3b
2o41bobo$2515bo230b2o88bo96bo5bo40bo71b3o26b2ob2o$2515bobo228b2o88bo2b
o93bo6b3o36bob2o2b3o64bo28b2o3bo$2515b2o320bobo92bo2bo4bo38bob2o3bo66b
o25bo5b2o$2531b2o398b2o5b2o3bo36b6o92b5o3b4o10b2o$2531b2o399bo4bo2bo2b
o39b3o92bo7bo2bo10bobo$2933bo7b2o135bob4ob5o10bo$1850b2o247b2o832bo7b
2o136b2o3b4o$1851b2o245b2o428bo405bobo34b2o27bo85b2o$1850bo249bo428bo
180b2o208b3o12bo6bo28b2o25bobo84bo$2527b3o180b2o139b2o67bo8b3o9bo57b2o
$1845b3o1003b2o68bo5b2ob2o140bo$1847bo883b2o198b2o35b2o101bobo$1846bo
884b2o193bob2o2b2o34bobo102bo$2699bo225b3obo2bo3bo31bo102b2o$2516b2o
182b2o69bo155bo3bo3b3o133bo$2516b2o181b2o68bobo153b2o7bo134bo$2770b2o
151bo9bo2bo131bobo$2921b4o142b2ob2o$2920bo11bo2bo3bobo14b2o112b3o$
2695b2o223bo5bo5bobo5b2o14b2o65bo5bo41b2o3bo65b2o$2695b2o139b2o83b2o4b
o5bo6bo82bo3b2o2bo36b5o2bobo63b2o26b3o$2836b2o89b3o97b3o38bo2bo2b2ob2o
64bo25b2o5b3o$1838b3o299b3o573b2o309b3o38bo2bo3bobo92bo3b4obo10bo$
1840bo299bo575b2o309b3ob2o36b2o4b2o90b3o3bo6bo8b2o$1839bo301bo472bo
416b3o133b2o9bo10bobo$1834bo666b2o112b2o414bobo133bo2bo$1834b2o615bo
49b2o111b2o406bobo6bobo134b3o3b2o$1833bobo616bo557b2o11bob2o4b2o28b2o
111b2o$2450b3o556b2o7bobo3b2o35b2o26bobo$2941b2o68bo78b2o$2680b2o259b
2o77bo37bo31bo$2680b2o139b2o193bo40b2o103bo$2821b2o192b2obo4b2obo30bob
o103b2o$2362bo338b2o312bo10b2o135bo$2363bo337b2o312bo2b3o2bo3b2o133b2o
$2361b3o496bobo152bo3b4o135b3obo$2486b2o373b2o153bo140b4obo$1827bo355b
o302b2o373bo152bo142b5o$1827b2o353b2o289bobo534bo12bo7bo14b2o109b2obo
5bo64b2o$1826bobo353bobo288b2o536bo5bo4bobo7bo13b2o116bob2o63bobo$
2474bo451b2o88bobo4bo6b3o83b3o38bobo2b2obob2o62bo27b3o$1822b2o841b2o
259b2o88bo2bo136bo6bo4b2o$1821bobo841b2o139b2o209b2o138b2obo3b5o96bo3b
o8b3o$1823bo982b2o308bo3b3o35b3o6bo89bo6bo4bo8bo$2686b2o429bo3bob2o
131bob2o5bo3bo9bo$2539bo146b2o425b3o2b2obo134bo7bo2bo$2540b2o557b2o12b
obo3bo4bo135b2o2b2o$2471b2o66b2o558bobo11bo2bo4b3o27b2o105bobo3b2o$
2471b2o626bo14bobo4bo29b2o28bo77bo$3031b2o81b3o65bo$3031b2o73bo39b3o
31b3o70bo$2712bo198b2o193bo39bo105bobo$2650b2o58bobo68bobo127b2o204bo
29bo103bo3bo$1815b2o407b2o424b2o59b2o69b2o7b2o315b2o2b4o2bo131bo3bo$
1814bobo407bobo555bo8b2o315bo2b2ob2o2bo131bob2o$1816bo407bo446b2o279bo
155bo8bo132bo$2671b2o280bo155b2obo137b2o$1810b2o1139b3o157b2o134bo2b2o
4b2o63bo$1811b2o1300bo22b2o109b2obobob2o2bo61b2o$1810bo1296bo4bobo6bo
14b2o69bo40bob2o2b2o3bo60bobo27bo$3016b2o88bobo4bo8b2o83bo52bo89bo$
3016b2o88bo2bo11b2o84bo39b3ob4obo3bo89bo17b2o$2627bo268b2o209b2o97b3o
2b2o33bo6bo6bo97b2o7b2o$2625bobo7b2o259b2o307b5ob2o34b2ob2obo3b2o88bo
6b3o2bo9bo$2626b2o7b2o139b2o425b8o37b2o96bobo3b2o5bo$2776b2o411bo12bob
o142bo6bo3bo$2656b2o530b2o12b2o4b2o146b2o$2656b2o530bobo11bobo3b3o30b
2o108b2ob2o$2624bo578b2obo2b2o30b2o108bo$1803b2o461b2o355bobo495b2o80b
o3bo28b2o33bo71bo$1804b2o459b2o356bobo495b2o80bob2o28b2o35b2o69b2o$
1803bo463bo105bo250bo376b2o234bo33b2o69b2obo$2374b2o497bo127b2o195b10o
132bo3b3o$1798b3o572b2o244b2o7b2o244bo6b2o314b6o5bo131bo3b2o$1800bo
817bo2bo5bo2bo241b3o6b2o313bo4bo2b3obo130b2o$1799bo632bo186b2o7b2o131b
2o434b2o5b4o131bobo$2431bo329b2o279bo155b2o139bob2o3bo$2431b3o190bo16b
2o400b2o293b2obo3bo2bo60b3o$2623bobo15b2o399b2o160bo21b2o108b3obo3bo
64bo$2609bo13bobo571bo6bo21b2o107b3o8b2ob2o59bo$2608bobo13bo33bo447b2o
88bobo4bo9bo85b2o34b2o2bo2bobo4bobo$2608bobo46b2o447b2o88bo2bo11bobo
82b4o2bo32b2ob2obo6b3o$2609bo47bobo326b2o209b2o13b2o83bo4bo32b2ob2ob2o
$2552bo433b2o311bo2bo33b2obo$2550bobo51b2o7b2o251b2o431b3o35b2o2bo$
1791b3o513b3o241b2o50bo2bo5bo2bo250b2o409b3o11b3o5b3o36b3o$1793bo513bo
296b2o7b2o131b2o529bo18b2ob2o$1792bo515bo437b2o530bo16bo3bo31b2o$1787b
o821bo681b3o5bo25b2o4b2o$1787b2o819bobo111bobo69bo416b2o77bo34bobo$
1786bobo805bo13bobo112b2o70bo415b2o77bo2bo2b3o26bo37bo$2593bobo13bo
113bo69b3o295b2o197bo2bo67bobo$2593bobo495b2o194bobo4b2o2bo63b2o88bo$
2594bo368bo7b2o313b2o11bo151b2o$2964b2o5b2o312b2o4b2obo3bo152bobo$
2589b2o7b2o251b2o110b2o321b7obo3bo$2588bo2bo5bo2bo98b2o150b2o434bob2o
4b3o$2589b2o7b2o99bobo29b2o401bo153bo$2699bo31b2o399bobo181b2o$2594bo
538b2o152bo28b2o$1780bo569bo242bobo600b2o88bobo$1780b2o567b2o228bo13bo
bo600b2o88bo2bo12bobo$1779bobo567bobo226bobo13bo481b2o209b2o14b2o$
2578bobo495b2o225bo$1775b2o802bo376b2o409b2o$1774bobo1179b2o408b2o$
1776bo797b2o7b2o251b2o530bo$2573bo2bo5bo2bo250b2o$2574b2o7b2o908b2o$
2386bo914b2o190bobo$2384bobo192bo304bo416b2o190bo$2385b2o191bobo304b2o
294b2o$2564b2o12bobo160b2o141b2o295b2o$2391bo172bobo12bo160b2o319b2o$
2389b2o174bo176bo312bo5b2o$2390b2o192b2o355b2o110bobo$1768b2o813b2o
356b2o111b2o$1767bobo815bo235b2o730bo$1769bo1051b2o400bobo327bo$2572b
2o650b2o327bo$1763b2o807b2o650bo61b2o120b3o146bo$1764b2o1520b2o120bo
147b4o$1763bo795b3o3b3o598b2o241bo140b6o3bo$2549b2o615b2o381bob2ob2o2b
3o$2549bobo11bo482b2o487b2o11b2ob2ob2obobo$2550bo12bo482b2o486b2o13bo
2bo3b4o$2563bo362b2o608bo12b2ob2o3bo$2926b2o622bobo30bo$2782b3o588bobo
175bo30b2o$2782bo591b2o206bobo$2557b2o224bo590bo174b2o$2557b2o66b3o
348bo294b2o271b2ob2o2b4o88bo$1756b2o787bo5bo73bo348bobo294b2o270b2o2b
2o2b4o84b2o$1757b2o786bo5bo74bo348b2o174b2o391bobob2o$1756bo777b2o9bo
5bo599b2o392b2obo$2534bobo494b2o111bobo304bo94b4o87bo4bobo$1751b3o781b
o11b3o481b2o112b2o303b2o95bobo86bobo3bo2bo$1753bo1157b2o232bo304bobo
49bo40bo4bobo7bo83bo3bo$1752bo1158b2o402bo186b2o38bobo4bo9bo82bo$3316b
o187bo37bo2bo11b3o74bo3bo3bo3bo$3314b3o184b4o38b2o93bo3bo2b2o$2542b2o
955b2o2bo131bo11bo$2542b2o712b2o242bobo133bo2bo4bo2bo$2825bo430b2o242b
3o121b2o11bobo5b2o$2529b3o3b3o286b2o310b2o398b2o86bobo6b2o3b2o$2519b2o
303bobo309b2o398b2o86bo7b3o$2519bobo11bo134bo347b2o471bo12b3o127b2o$
2520bo12bo133b2o347b2o471bo10b2obo127b2o38b3o$1744b3o786bo133bobo819bo
10b2ob2o124b2obo4bo2bo30bo$1746bo1753bo2b2o124bo5b3obobo30bo$1745bo
1740bo16b2o125b8o4bo$1740bo1744bobo5b2o135b2o7bobo$1740b2o785b2o536bob
o418bo5b2obo7bo123bobo$1739bobo785b2o537b2o173b2o247b3ob2o7bo121bo$
2515bo5bo544bo174b2o247bo2b2o7bo2bo118bo3bo8bo6bo$2515bo5bo599b2o113bo
253bo2bo8b3o16b2o16b3o82bobo9bobo6b2o$2504b2o9bo5bo599b2o114bo253b3o9b
2o16b2o16bo90b3o4bo6b2o85bobo$2504bobo494b2o232b3o302bo49b3o37bobo97b
2o$2505bo11b3o481b2o589bo38b2o97b2o2bo$2866b2o721bob2o138b2o3bo$2866bo
bo720bo2bo139b2obobo$2866bo722b3o136bo4b3ob2o$2709b2o879bo33b2o88bo12b
3o7b2o$1733bo778b2o195bobo772bo139b2o87b2o12bo2bo3b3o$1733b2o777b2o
195bo516b2o249b2ob2o4bo226bobo12b3o$1732bobo1491b2o158bo91b4ob3o106b2o
135bo$2499b3o3b3o598b2o279bo91bo3b2o21b2o69b3o10bobo127bo40b2o$1728b2o
759b2o615b2o277b3o118b2o81b2obo126bobo8bo29b2o$1727bobo759bobo11bo
1085bo2bo138bo30bo$1729bo760bo12bo12b2o967bo89bo14bo2bo128bo4b2o3bo$
2503bo12bobo965bobo87bobo5b2o9bo128b2ob2obobobo$2516bo968bo89bo5bo2bo
138b2obo4bo$3157bo422bo3bo6bobo125b2o3b3o$3158bo420b2o2bo7bo2bo14b2o$
3156b3o311b2o108b3o9b2o15b2o18b2o96bo$2908b2o301b2o257b2o97bo11bo10bo
35b2o91bo4bobo7bo$2485bo5b2o414b2o302b2o113bo243b2o58bo49bo39bobo4bo6b
obo83b3o$2485bo4bo2bo415bo181b2o234b2o162b2o76b2o108b3o38bo2bo11b2o$
2474b2o9bo5bobo257b2o338b2o233b2o163b2o185bobo40b2o101b2o$1721b2o751bo
bo15bo257b2o926bo140b7obo$1720bobo752bo11b3o262bo926b3o136bo$1722bo
1956bo136b2o10bo$3567bo4bobo139b2o86b3o11b2o4bo$1716b2o1849bo4bo2bo
105bo32b2o86bo19b2o3bo$1717b2o1848b8o19b2o71bo13bo121bo13b2ob2o2b2o$
1716bo841b2o895b2o113bo23b2o71bo11bobo135b2ob2o28b2o$2557b2o637b2o257b
2o54bo58bo96bo11b2o138bo30bobo$2476b2o81bo636b2o311bobo166bo2bo136bo
31bo$2469b3o3bo2bo997b2o32b2o62bo89bo14b3o134b6o$2459b2o15bobo997b2o
95bobo87bobo6bo7b2o129b5o6bo$2459bobo11bo3bo1096bo89bo5b2obo6b2o129bo
6b2o2bo$2460bo12bo475b3o717bob2o8b2o128b2obo2bo2b2o$2473bo475bo707bo
11bo2bo9bo$2950bo296bo407bobo11b3o3bo4b3o16b2o17b2o93bo3bo$2792b3o453b
2o406b2o16bo24b2o17bobo93bo3bo$1709b2o1081bo454b2o469bo51b2o39bo4bobo
92bo$1710b2o1081bo646b2o328b2o38bobo4bo7bobo83bo$1709bo1471b2o257b2o
327bo2bo37bo2bo12b2o82b6o$2455bo5b2o718b2o585b3obo38b2o13bo87b3o$1704b
3o748bo4bo2bo997b2o304b2o3bo140bo2bo$1706bo737b2o9bo5bobo997b2o307b2o
142b2o$1705bo738bobo15bo136b3o1060b2o104bobo121b2o11b2o7bo$2445bo11b3o
139bo1055b3o3b3o105bo34b2o85b2o12b2obob2obo$2600bo796bo266bo106bo32b2o
87bo12bo4b3o$3398b2o258b3o23b2o83b4o132b2o2bob2o27bo$3397b2o199bobo83b
2o70b3o9bo137bo4bo27b2o$2992bo606b2o166bo136b4o2b2o27bobo$2991b2o432b
2o172bo63bo104b2o3bo130bo2bo3bo$2991bobo431b2o235bobo89bo16b2o129bobo
3b5o$2446b2o387bo827bo89bobo4b3o8b2o127b2o8bobo$2439b3o3bo2bo385b2o
610b2o306bo8bo136bo5b3o2b2o$1697b3o729b2o15bobo385bobo609b2o310bo4bo6b
3o127bo2b2obobob2o$1699bo729bobo11bo3bo1309b2o4bo6bo37bo92bobo5b2o$
1698bo731bo12bo1302bobo9bo11bo2bo15b2o16b2o93bo$1693bo749bo895bo407b2o
10b3o8bobo16b2o16bobo$1693b2o1642bobo329b2o76bo12bo98b3o39bo$1692bobo
947bo695b2o329b2o187bo3bo37bobo14bo82b2obobo$2641b2o1219bo37bo2bo14bo$
2641bobo766b2o122bo322bob2o40b2o13b3o81bo6bo$3410b2o120b2o322bo3bo142b
2o$2425bo5b2o1100b2o322b2o3b2o117b2o19b2o$2425bo4bo2bo997b2o424b2o2bo
119bobo11b3o$2414b2o9bo5bobo599b2o396b2o312b2o2b3o106b2o34b2o85bo13b3o
$2414bobo15bo600bobo652bo56bo3bobobo140b2o100b2o$2415bo11b3o603bo487bo
bo165bo56b2o2b2obo20b2o71bo147b3o3b2o25b3o$2876b2o644b2o163b3o84b2o71b
o145bo7b2o25bo$1686bo1189bobo643bo131b2o191bo10b2o135b2obo30bo$1686b2o
1188bo777b2o97bo104b2o2bo128bo3bo2b4o$1685bobo2064bobo89bo5b3o7bo2bo
126bo9b4o$3753bo89bobo4bo11b2o125bo3bo3b3o2b2o$1681b2o2161bo6bo2bo6bo
126b2o2bo3bo$1680bobo733b2o842bo591bobo134b2o6bo2bob2o$1682bo726b3o3bo
2bo264b2o573bobo155b2o428b3o4b2o41b3o$2399b2o15bobo264bobo573b2o155b2o
420bo40b2o15bo53bo48b3o$2399bobo11bo3bo265bo1155bo10bo28b2o16bo52bo41b
o$2400bo12bo1345b2o76b3o10bo99b2o39bo$2413bo1345b2o89bo139bobo$3639b2o
310b3o36bo2bo13bo84bo$3075b2o562b2o307b2o41b2o15b2o81b3o$3074b2o871bob
o57b2o62bo22bo$3076bo870bob2obo117b2o14b2o4bobo$2918b2o916bo3b2o106b5o
117bobo13bobo4bo$1674b2o719bo5b2o514b2o692bo223bobobob2o106bobo32b2o$
1673bobo719bo4bo2bo515bo481b2o209bo222bo5bo142b2o101b2o29b2o$1675bo
719bo5bobo997b2o207b3o165bo57bo3bo23b2o221b2o3bo24b2o$2402bo1376b2o56b
3o24b2o70b3o154bo25bo$1669b2o726b3o1344b2o32b2o168b2o133b3o6bo$1670b2o
2072b2o97bo96b2o6bobo$1669bo1055b2o897b2o216bobo89bo4b2obo6bobo127bo$
2724b2o898b2o217bo89bobo4bobo10b2o124bo6b2ob2o$2726bo1207bo6bob2o5b2ob
o123bo8b2obobo$3937bo4bo2bo6bo33b2o90b2o$3349bobo585bo5b3o39b2o91b2o9b
obo$2386b2o31b3o928b2o585bo6bo24b2o16bo52bo49bo$2379b3o3bo2bo30bo696b
3o231bo35b2o540bo40b2o69b2o48bo$2386bobo31bo695bo269b2o461b2o78b2o8b3o
97bobo39b3o$2383bo3bo729bo373bo357b2o77b2o110b2o38bo2bo98bo$2383bo575b
3o529bobo235b2o309b2o38bo2bo97b3o$1662b2o719bo575bo531b2o236b2o307b2ob
o39b2o16bo80b5o$1663b2o1295bo648b2o428bo57bobo59b3o22b2o$1662bo1946b2o
320b2o105bo3bo55b2o59bo16b2o5b2o$3534bo164bo230b3o108b3o116bo15bo$
1657b3o1875bo164b2o223b4o4bo107b3o30b2o131b2o$1659bo1873b3o163b2o224bo
b2o3bo141b2o101bobo27bobo$1658bo706bo5b2o393b3o1156b2obo3bo21b2o71bo
150bo28bo$2365bo4bo2bo392bo604b2o497bo55bobob2o22b2o71b3o144bo$2365bo
5bobo393bo603b2o461b2o32bobo56b3o100b2o6b2o134bo$2372bo1461b2o33b2o57b
o4bo93b2ob2o6bo2bo132bo$2367b3o92bo1251b2o216bobo89bo3bo3bo6bob2o$
2461b2o696bo110bobo441b2o217bo89bobo3b2obo6bo3b2o131b5o$2461bobo694b2o
111b2o321b2o428bo4b2o2b2o5bo3bo30b2o92b2o5bo$3158bobo110bo322b2o439b2o
3b4o31bobo92bo6b2o2bo$3002bo1023b3o3b2ob2o5bo32bo92b3o10bo$3001b2o
1029b2ob2o22b2o69b3o39bo6bo$1650b3o1348bobo1026bo3bo24b2o67b2o41b3o5b
3o$1652bo703b2o1581b2o79bo9bo97b2o40b2o2bo$1651bo697b3o3bo2bo997b2o
581b2o77bobo9bo102bo36b2o2b2o$1646bo709bobo997b2o461b2o198b2o107bo4bo
36bob3o$1646b2o705bo3bo1461b2o306bo3b2o38b3o75b2o$1645bobo705bo455bo
889b2o427bo3bo55bobo57b2o$2353bo454b2o812bo76b2o316bo2b2o107b4o56b2o
59bo$2808bobo768b2o42b2o390bo7b2o105bo2bo55bo$3579b2o41b2o167bo222bo9b
o106b3o30b2o$3789bobo372b2o$2503b2o1285b2o226bo4bo20b2o71bob2o$2503bob
o694b2o812bo29b2o71bob2o$2335bo5b2o160bo696bobo721b2o33bobo53b2o4b2o
98bo6bo$2335bo4bo2bo856bo140b2o581b2o34b2o58b4o93b2o2b3o3bo2bo$2335bo
5bobo699b2o296b2o461b2o154bo57b2o2bobo89b3o5bo5bo4b2o$1639bo702bo700bo
bo316bo441b2o217bo89bobob2o2b2o2bo2b2o3b3o29bo$1639b2o696b3o703bo319bo
320b2o428bo2bobo3bo2bo2b2o3b2o28b2o$1638bobo1720b3o320b2o431bo5bo3b4ob
obo29bobo$3564b2o550b3o5bo2bo2b4o$1634b2o1928b2o556b2o3bo4bo16b2o$
1633bobo1813bobo668bo2bo2bo22b2o139b3o$1635bo1214b2o597b2o578b2o89b3ob
2o164bo$2850bobo597bo578b2o78bobo8bo170bo$2326b2o522bo1058b2o199b2o$
2319b3o3bo2bo997b2o581b2o199bo$2326bobo997b2o217bo166bo76b2o$2323bo3bo
217b2o999b2o162bobo76b2o$2323bo220b2o696b2o301b2o122b2o40b2o400b2o$
2323bo222bo694b2o426b2o442b2o$3243bo305b2o329bobo$3085b2o462b2o330b2o
251b2o$1627b2o1455b2o795bo228bo23b2o70b2o$1626bobo1457bo196bo730b2o35b
o58b2o94bobo$1628bo1655bo729b2o36bo58bo94bo$2305bo5b2o969b3o609b2o154b
3o57bo$1622b2o681bo4bo2bo997b2o581b2o437bo$1623b2o680bo5bobo997b2o461b
2o556b2o$1622bo689bo579b2o880b2o556bobo$2307b3o581b2o761b2o$2893bo760b
2o2$4119b2o$2586b3o1530b2o80bo$2586bo696b3o713b2o201bo$2587bo695bo351b
o363b2o199b3o$2296b2o986bo348bobo243b2o$2289b3o3bo2bo827b3o167b2o336b
2o165bobo75b2o$1615b2o679bobo827bo169b2o461b2o41b2o444b2o$1616b2o675bo
3bo829bo631b2o41bo444b2o$1615bo677bo1345b2o331bo276bo$2293bo1345b2o
332bo$1610b3o2358b3o400b2o$1612bo2491b2o268bobo$1611bo1321b3o437bo730b
2o35bo232bo$2933bo440b2o608b2o156b2o$2934bo438b2o609b2o155b2o261b3o14b
3o$2275bo5b2o1581b2o548b2o5bo$2275bo4bo2bo345bo778bo455b2o543bo2b2o2bo
5bo$2275bo5bobo344b2o696bo80bo336b2o656bo6bob3ob3o$2282bo345bobo694b2o
80b3o334b2o655bobo7bobob2o$2277b3o1045bobo1074bo8bo3bo$3169bo1241bobo$
3168b2o1236b2ob3obo$1603b3o1562bobo551bobo364b2o198b3o114b2o$1605bo
2117b2o364b2o198bo$1604bo2118bo245b2o319bo$1599bo2293bo75b2o425b3o$
1599b2o2248b2o43bo502b2o$1598bobo1375bo872b2o41b3o500bobo$2975b2o752b
2o661b2ob2o$2975bobo751b2o331bo329b2obobo66bo$4063b2o327b3o68b2o$2292b
o1769b2o335b4ob2o57bobo$2264bo3b2o21b2o377b2o1728bobobobo$2263bobo2b2o
21bobo376bobo694b2o705b2o324bob3o2bo87bo15b2o$2263b2o405bo696bobo704b
2o325bo5bo87bo14b2o$3367bo586b2o397b3o43bob2o4bo87bo5bo2bo7bo$3210b2o
742b2o396bo3bo40b2o3bo3bo93b4o2bo$1592bo1617bobo621b2o496bo19bo4bo36b
2ob2o4b3o86bo12b2obo$1592b2o1616bo623b2o495b2o20bo3bo33b2o2bobo93bobo
7b2o5bo$1591bobo2618bo118bobo14b2o5b3o33b2o3bo95bo7b3ob3o$4213b2o133b
2o147b3o2bob3o$1587b2o2623b2o165b2o5b2o108bobo3bo$1586bobo2225bo535bo
27b2o6b2o108bobob2o$1588bo660bo3b2o762b2o796bo534bo29bo116bo$2248bobo
2b2o762bobo793b3o243b2o$2248b2o767bo1041b2o284b3o70bo68b2o$3939b2o42bo
435b2o64bo2bo$2333b2o1604b2o43b2o363b3o66b2o62b2o5bo$2333bobo376b2o
1105b2o162b2o363b4o130b2o4bo$2333bo377b2o1106b2o520b2o5bo3bo128bo3b6o
61b3o$2713bo1440bo185bo2bo5bo132b4o3bobo60bo$4152bobo186b3o6bobo129b3o
3bo64bo$3252b2o899b2o186b2ob2o5bobo17b2o116b2o109b2o$1580b2o1669b2o
1089bo2bo5b2o18b2o118bo5b2o100bobo$1579bobo652bo3b2o1013bo1092b2o4bo
90bo46bob2o3b3o99b3o$1581bo651bobo2b2o1804b2o295bo5bo94b3o47b2o3b2o99b
o$2233b2o1809b2o296bo4bo93b5o40bo3b4o3bo88b3o9bobo$1575b2o2347b2o417bo
2bo73b3o22b2o46b4o95b2o4bobo$1576b2o2346b2o418bo17bo57bo16b2o5b2o35b2o
2bobo5b3o101bobo$1575bo1483b2o1299bobo58bo15bo47b3o6bo89bo5bo3b2o$
3058b2o1301b2o105b2o15b2o96bobo4bo5b2ob2o$3060bo1275b2o100bobo27bobo5b
2o106bo9bo4bobo$4336b2o101bo28bo7b2o112bobo3bo2bobo$2375b2o1527bo451b
2o77bo155b2o3bo3bo$2374b2o377b3o1149b2o449b2o77bo158bo$2219bo3b2o151bo
376bo1150b2o529bo$2218bobo2b2o529bo1274b2o479bo$2218b2o1809b2o44bo361b
5o66bobo$3293b3o613b2o162bobo354b2o5bo71b2o131b2o$1568b2o1723bo615b2o
163b2o355bo6b2o2bo198b2o$1569b2o1723bo1134b3o10bo200bo$1568bo2864bo6bo
$4321b2o109b3o5b3o18b2o113bo4bo107b3o$1563b3o2755b2o108b2o2bo25b2o69bo
42bobo3b2o105bo3bo$1565bo2865b2o2b2o94bobo42b2o4bo105bo2b2o$1564bo
1535b3o1328bob3o94bo3bo46bo95bo11b3o$2204bo3b2o890bo1331b3o75b2o19bo2b
o45b2o95bo$2203bobo2b2o891bo912b2o209bo223bobo57b2o15b2o5b2o42bo2b2o
95bo$2203b2o1809b2o207bobo224b2o59bo14bo50bo2bo10bo92bob2o$2416b3o377b
o1427b2o224bo77bo29bo18bobo2b2o7bo82bo8bo2b2o$2416bo378b2o1732bo27b2o
114bobo6bob2obo$2417bo377bobo1729b2o28bobo22bob2o88bo7b2o4bo2b2o$4583b
5o95bo4b2obo$3336bo969b2o138b2o75b3o42b2o15bobo95b2o4b2o$3335b2o659bo
309b2o138b2o120b2o16bo95bo$1556b3o1776bobo656bobo$1558bo2436b2o529b2ob
2o$1557bo631bo3b2o2324bo6bo2b2o200b2o$1552bo635bobo2b2o1804b2o163bobo
352b2o6b3o201bobo$1552b2o634b2o1809b2o164b2o351b2o10b2o199bo$1551bobo
1589bo1021bo363b3o248bo$3142b2o1377b3o6bo72bobo173bobo$3142bobo1376bo
2bo79b2o60bo5bo105bo3bo$4520bo3bo79bo60bobo3bobo104bo3b2o$2459bo1831b
2o138b2o87bo2b2o28b2o111b2o5b2o103bobob2o$2458b2o377b2o1452b2o138b2o
88b2o16bo13b2o44b2o27bobo41b2o104bo3b2o$2458bobo376bobo1532bobo165bo
58bobo24b3ob2o38bob2o92b3o10b3o$2837bo1535b2o163b3o58bo33bo34bo107b2o$
2174bo3b2o2193bo251b3ob2o3bo32bo4bo103b2o$2173bobo2b2o1197b2o1246bo2bo
bo3bo11b3o18bobo94bo8bob2o$1545bo627b2o1202bobo1245b2o2bo2bobo11bo21bo
3bo90bobo6bob2obob3o$1545b2o1830bo1247b2o3bo2bo13bo116bo7b2obo4bobo$
1544bobo3082b4o139bobo7bo$4629b3o26b2o111bo2bo3b4o$1540b2o3116b2o112bo
bo3b2o$1539bobo2543bobo188b2o138b2o120b2o77b2o154bo$1541bo1642b2o900b
2o188b2o138b2o120b2o79bo201bo$3184bobo899bo531bo201b2o$3184bo1432bo
202bobo$2159bo3b2o2338bo109b2o2bo252bo$2158bobo2b2o335b2o2001bobo363b
2o$2158b2o340bobo376b2o1622b2o109b3o78bo172b2o2bo$2500bo377b2o1734bobo
79bo59bo6b2o106b3o$2880bo1733bo2bo76b3o58bobo4bo108b3o$4462bo153b2o25b
2o44bo66b2o112bo$3419b2o814bobo225bo151b2obo3bo20b2o43b2o27b3obo41bo
93bo11bo3bo$1533b2o1883b2o816b2o23b2o138b2o58b3o59b2o90bo2bo2b3o64bobo
25b5obo37b2ob2o92bo11bo3bo$1532bobo1885bo815bo24b2o138b2o120b2o90bo7bo
90b2o5bo2bo36bobo93bo9bob2o$1534bo3081bo5bo91bob2o6b2o10b2o24bo106b3o$
4617bo3bo91b2o4bo6bo8b2o117bo7bo6bo$1528b2o614bo3b2o2470bo93bob4o5bo
11bo115bobo6b4o3b3o$1529b2o612bobo2b2o2565b2ob3o133bo6b5o$1528bo614b2o
1081b2o1407bo84bo2bo141bo4b3o$3225b2o1409b2o84bo25b2o111bo8bo$3227bo
1407b2o111b2o112b3o5bo$4177bo450b2o78bo153b3o$2542b2o1634bo449b2o79bo
199b3o$2541b2o377b3o1253b3o67b2o138b2o120b2o197bobo199bo$2543bo376bo
1325b2o138b2o120b2o197b2o201bo49bo$2921bo1784b3o250b4o$4705b2o251bo3bo
$2129bo3b2o1325b3o1240b2ob2o251b2o$1521b2o605bobo2b2o1325bo1242b2o3bo
76bo60bo113bo2bo$1522b2o604b2o1331bo923bo164bo154bo80b2o57bobo111bo$
1521bo2864bo164b2o156bo2bo20b2o42b3o5b2o19bo39b2o3b2o106bo2bo$4384b3o
163b2o152b2o3b3ob2o18b2o42bo27bobo5bo37b2ob2o105b2o$1516b3o3094b2o88b
2o5b2ob2o63bo35bo35bo2b3o90b3o10bo$1518bo3094b2o89bo2bo5b2o91bo3b2o3bo
9b2o23bob3o$1517bo1749b3o1101b2o120b2o210b2o4b2o90bobo4b6o9bobo23b3o
105b2o$3267bo1103b2o120b2o307bo22bo26bo91bo13bobo$3268bo1534bo2bo136bo
bo8b3obo$4804b3o3b2o132bo7b2o2bob2o$2114bo3b2o463b3o377bo1134bo706bo4b
2o139bobo5bobo$2113bobo2b2o463bo378b2o1135bo627bo110b2o110b2o3b2o3b2o$
2113b2o469bo377bobo1132b3o625bobo110b2o111b5o4bo$4718b2o6b2o224bob2o
43b2o$3503bo1214b2o79bo153bo44b2o$3502b2o957bobo134b2o198b3o199bo49bo$
1509b3o1990bobo956b2o135b2o449b3o$1511bo2844b2o104bo15b2o315bob3o248bo
bo$1510bo2845b2o120b2o313bo2bobo249bo$1505bo3292bo250b3o$1505b2o2966bo
318bo143bo112bo$1504bobo592bo3b2o1205bo1163b2o317bo2b2o3b3o63b2o8bo57b
obo3b2o$2098bobo2b2o1204b2o1162b2o318bobo3b2o3bo18b2o41b2o7bobo18bo39b
2o4b2o107bo$2098b2o1209bobo1486b2obo3bo17b2o43bo7b2o18bo42bo2bo94bo13b
o$4703b2o87bo2bo2b2o5bo90bo18bo23b3o95bo11bobo$2626bo2076b2o88b2obo3b
3o2bo108b2o27bo93bo11b2o$2625b2o377b2o1577b2o208b2obo4bob2o88b2o5b2o2b
3o7bobo24bo2bo103bo2bo$2625bobo376bobo1576b2o210bo96bobo5b2o2bo39bo89b
o14b3o$3004bo1336b2o120b2o183bo244bob2o3bobo39b2o89bobo6bo7b2o$4341b2o
120b2o181bobo246b3obo2bo131bo5b2obo6b2o$3544b2o1101b2o247b2o2b2o137bob
2o8b2o$1498bo2045bobo641bo706bo32b2o109bo2bo9bo$1498b2o584bo3b2o1454bo
644b2o625bobo109b2o109b3o3bo4b3o35b2o$1497bobo583bobo2b2o2098b2o618b2o
7b2o70bo154bo43bobo$2083b2o2723b2o7bo70b3o197bo51b2o$1493b2o3193b2o
197bob3o248b2o$1492bobo3193b2o196bob3o248bo2bo$1494bo1856b2o1215b2o
315b2o2bo248b3obo$3351bobo1214b2o315b2obo248b2o3bo$3351bo974b2o68bo51b
2o113bo321bo254b2o$4326b2o69b2o49b2o111bobo319b2o3bo2b3o62b2o74b2o104b
obo$2667b2o1727b2o164b2o319b2o3b3o2b2o61bobo66b3o3b3o105bo$2667bobo
376b2o1835b2ob2ob3o3bo17b2o41bo9bobo65bo106bo$2069bo3b2o592bo377b2o
1836bo11b2o16b2o52b2o16b3o40b3o108b4o$2068bobo2b2o972bo1745b2o88b2o3b
3o4b3o69bo35b3o120b3o9bo$2068b2o2723b2o87bo10bobo95bo2b2o7bo133bo$
3586b2o1085b2o208b2obobo94bo5b3o3b2o7bo28bo104b2o3bo$1486b2o2097b2o
1086b2o208b4o95bobo4bo4b2o36bobo89bo16b2o$1485bobo2099bo521bo443b2o
428bo5bo3b2o38bo89bobo4b3o8b2o$1487bo2622b2o441b2o182bobo249b2ob2o130b
o8bo$4109b2o200b2o120b2o303b2o247b2o2b2o135bo4bo6b3o$1481b2o2828b2o
120b2o303bo248b2o29b2o107b2o4bo6bo37bo$1482b2o2936bo487bo70b2o37b2o
108bo11bo2bo33b2o$1481bo1911b2o1024bo478b2o9bo219b3o8bobo34bobo$2054bo
3b2o1332b2o1025b3o476b2o7b3o68bo3bo147bo98b3o$2053bobo2b2o1334bo1383b
2o197bo4bo245bo3bo$2053b2o2723b2o196b2o2bobo249bo$2709b2o1947b2o315bob
o249bob2o$2708b2o377b3o1396bo171b2o314b2ob2o247bo3bo$2710bo376bo1396bo
bo51b2o435bob2o67bo180b2o3b2o$3088bo1396b2o51b2o437b2o2bo63b2o180b2o2b
o$4296b2o120b2o551bo4bo4b5o59bobo67b2o2b3o106b2o$3627b3o666b2o120b2o
555bo3bobo2b3o16b2o53bo17bo38bo3bobobo$1474b2o2151bo1342bo4b2o6bo3bo
15b2o54bo16bo16b2o21b2o2b2obo93bo$1475b2o2151bo1254b2o85bo6bobo4b3o70b
3o16bo8b2o5b2o123bo$1474bo564bo3b2o2838b2o92b2o6bo93bo4bo2bo6bo122bo
10b2o$2038bobo2b2o2613bobo102b2o206bo3bob2o94bo5bobob2o2bo35bo104b2o2b
o$1469b3o566b2o2619b2o102b2o207bo99bobo7bo4bo34bobo89bo5b3o7bo2bo$
1471bo3171b2o14bo313b4o96bo9bo2bo36bo89bobo4bo11b2o$1470bo1963b3o764bo
441b2o184bo145bo105bo3bo128bo6bo2bo6bo$3434bo764bobo321b2o305bo246b2ob
o2bo138bobo$3435bo764b2o321b2o303b3o246b2obo2bo24b2o106b3o4b2o41b3o$
4281b2o825b2o156bo53bo$2750b3o377bo1150b2o705b2o8bo221bo46bo52bo$2750b
o378b2o1857b2o9b2o66b2o151bo99b2o$2751bo377bobo1736b2o128b2o66bob2o
150bo$2024bo3b2o2838b2o194bo256b3o$2023bobo2b2o1640bo902bobo172b2o314b
ob2o250b2o$2023b2o1644b2o903b2o172b2o313bo2bo250bobo$1462b3o2204bobo
902bo53b2o434bo2bobo64b3o180bob2obo$1464bo3163b2o434bo5bob2obo58bo71bo
3b2o106b5o$1463bo3044b2o561bobob2o58bo69bobobob2o106bobo$1458bo3049b2o
555bo7bo2b2o15b2o87b2o21bo5bo$1458b2o2806b2o797bo5b2o4b2o14b2o53bo16b
3o7bo6bobo21bo3bo$1457bobo2017bo788b2o705b2o94bo3b5o71b2o24bo6bo24b3o
96b3o$3476b2o1495b2o90bo3bo4b3o71b2o21b3obobo140b2o$3476bobo643bo627bo
102b2o211bobo6bo87bo8bo4b3o33bo96b2o6bobo$2009bo3b2o2105bobo628bo101b
2o207b2o2bobo93bobo7bo5bo33bobo89bo4b2obo6bobo$2008bobo2b2o778bo1327b
2o610b2o14b3o310b2o3bo95bo7b2o2b3o35bo89bobo4bobo10b2o$2008b2o782b2o
377b2o1560b2o433bobo2bo2bo127bo6bob2o5b2obo$2792bobo376bobo1205bo233b
2o304bo247bobob2o134bo4bo2bo6bo33b2o$3171bo1205b2o234b2o305b2o245bobob
2o25b2o107bo5b3o39b2o$4378b2o539b2o247bo29b2o107bo6bo42bo$3711b2o1365b
2o78bo$1451bo2259bobo537b2o825b2o10bo67bo150b3o$1451b2o2258bo539b2o
705b2o128bobo65b2obo$1450bobo3505b2o129b2o63b3ob2o$4838b2o313b2obob2o$
1446b2o546bo3b2o2838b2o312bo3b2o66b2o$1445bobo545bobo2b2o2718b2o433b3o
4b3o60b2o76b2o$1447bo545b2o1523b2o1198b2o434bo5b2o4bo58bo74b3o$3518bob
o1077b2o560b2o6bo103bo22b4o4bo$3518bo1079b2o569bo13b2o71bo14b2o22bob2o
3bo$4671bo488b2ob2o4bo13b2o71bo14bobo21b2obo3bo$2834b2o1836bo390b2o93b
4ob2o4bo70bo15bo4bo2b2o30bobob2o$2834bobo376b2o1021b2o432b3o390b2o91b
5o7bo69bobo19bo6b2o28b3o$2834bo377b2o1022b2o705b2o208bo9bo3bo71b2o12bo
6b2o5b2o29bo4bo93b3o$3214bo996bobo626bo102b2o207bo5bo5b3o85bobo6bobo4b
o33bobo92bo$4212b2o609b2o16b2o309bo2b4o94bo4bo4bobob2o34bo94bo$1979bo
3b2o1768b2o457bo610b2o15b2o416bo4bobob2o$1439b2o537bobo2b2o1767b2o949b
2o552bo5b4o$1438bobo537b2o1774bo948b2o306bo245bob5o24b2o$1440bo3568bob
o246b2o28b2o$5010b2o156b2o$1434b2o3732b2o78bobo$1435b2o3611b2o129bobo
62bo$1434bo2125b2o659b2o825b2o130b2o61bob2o4bo$3559b2o660b2o705b2o250b
o61bo4bobobo61b2o$3561bo1366b2o311b2o2b4o64bobo$4808b2o432b2o2bobo64bo
$1964bo3b2o906b2o1930b2o433bo6bo$1963bobo2b2o905b2o377b3o1431b2o559b4o
187bo$1963b2o912bo376bo1433b2o560bob2o5bo13b2o164b2o$3255bo1995b4ob3ob
2o11b2o164bobo$4132bobo626bo391b2o100bobo2bo$3794b3o336b2o627b2o389b2o
96b2o3bob2o69bobo$1427b2o2365bo338bo627b2o270b2o212bo8b2o72b2o$1428b2o
2365bo1237b2o211bobo6bobo72bo$1427bo2908bo576b2o17bo312b2ob2o5b2o$
4336bobo574b2o15bobo314bo7bo$1422b3o2911b2o455b2o136b2o$1424bo524bo3b
2o2838b2o$1423bo524bobo2b2o1646b3o1496bobo$1948b2o1651bo1499b2o155b2o
95b2o$3602bo1498bo156b2o94b2o$5138b2o131bo84bo$2917b3o377bo1840b2o132b
o$2917bo378b2o1720b2o250b3o208b2o$2918bo377bobo1719b2o461bobo$4898b2o
581bo$3837bo1060b2o$3836b2o940b2o$1415b3o516bo3b2o1896bobo939b2o$1417b
o515bobo2b2o$1416bo516b2o3308b2o$1411bo3441bo389b2o$1411b2o3438bobo
269b2o$1410bobo2231bo1207b2o269b2o$3643b2o1358b2o$3643bobo1357b2o16bob
o372b3o$4883b2o137b2o372bo$2960bo1922b2o137bo374bo$2959b2o377b2o1852bo
$1919bo3b2o1034bobo376bobo1852bo329b2o$1918bobo2b2o1413bo1852b3o328b2o
$1918b2o3308b2o294bo$3878b2o1348b2o$1404bo2473bobo1227b2o$1404b2o2472b
o1229b2o$1403bobo3582b2o$4988b2o$1399b2o2744bo722b2o$1398bobo2745bo
721b2o472bo$1400bo2284b2o457b3o1196bo$1904bo3b2o1775bobo1653b3o95bo$
1903bobo2b2o1775bo1752b2o$1903b2o2389bobo645bobo268b2o223bobo$3001b2o
1291b2o647b2o268b2o$3001bobo376b2o913bo647bo149b2o$3001bo377b2o1712b2o
18bo450b3o$3381bo1591b2o139bo449bo$4973b2o137b3o450bo$3920b2o$1392b2o
2525b2o1361bo$1391bobo2527bo1361b2o$1393bo495bo3b2o3387b2o$1888bobo2b
2o$1387b2o499b2o3308b2o$1388b2o3808b2o$1387bo2339b2o1349b2o$3726b2o
1350b2o400b2o$3728bo1229b2o520bobo$4958b2o520bo$3043b2o$3042b2o377b3o
2183bo$3044bo376bo2184b2o$1874bo3b2o1542bo1611bo571bobo$1873bobo2b2o
3155bo$1873b2o2086b3o1069b3o147b2o$1380b2o2579bo1221b2o$1381b2o2579bo
1100b2o138bo$1380bo3682b2o139b2o$5203b2o$1375b3o$1377bo$1376bo2391b3o$
3768bo1753b2o$1859bo3b2o1904bo1751b2o$1858bobo2b2o3658bo$1858b2o1224b
3o377bo691bo1011b2o$3084bo378b2o692b2o1009b2o183bo294b2o$3085bo377bobo
690b2o890b2o304b2o292bobo$5048b2o303b2o293bo$4004bo248bo$4003b2o247bo$
1368b3o2632bobo246b3o$1370bo$1369bo3754bo$1364bo479bo3b2o3275b2o$1364b
2o477bobo2b2o3274b2o$1363bobo477b2o1966bo1341b2o$3810b2o1341b2o140bo$
3810bobo1480bobo267b3o$5294b2o267bo$3127bo2436bo$3126b2o377b2o$3126bob
o376bobo2182b2o$3505bo2183b2o$5691bo$1829bo3b2o2210b2o$1357bo470bobo2b
2o2210bobo$1357b2o469b2o2215bo1092b2o$1356bobo3779b2o2$1352b2o$1351bob
o$1353bo2498b2o$3852bobo1751bo$3852bo1363bo388b2o$5214bobo388bobo$
1814bo3b2o1348b2o2045b2o$1813bobo2b2o1348bobo376b2o$1813b2o1353bo377b
2o2183b3o$3548bo2182bo$5732bo$4087b2o$1345b2o2739b2o$1344bobo2741bo80b
o$1346bo2820bobo1196bo$4168b2o1194bobo$1340b2o4023b2o$1341b2o456bo3b2o
2407bo$1340bo457bobo2b2o2089b2o314b2o$1798b2o2093b2o316b2o1434b2o$
3895bo1751bobo$5647bo$3210b2o$3209b2o377b3o2183bo$3211bo376bo2184b2o$
3589bo1715bobo465bobo$5306b2o$4128b3o1175bo$1333b2o449bo3b2o2338bo$
1334b2o447bobo2b2o2339bo$1333bo449b2o2$1328b3o$1330bo$1329bo2605b3o$
3935bo1753b2o$3936bo1751b2o$5690bo$3251b3o377bo$1769bo3b2o1476bo378b2o
2183b2o$1768bobo2b2o1477bo377bobo2182bobo$1768b2o4045bo$4171bo1054bobo
$4170b2o1055b2o$1321b3o2846bobo1054bo$1323bo$1322bo$1317bo$1317b2o$
1316bobo2659bo$1754bo3b2o2217b2o$1753bobo2b2o2217bobo1750b3o$1753b2o
3621bobo351bo$3294bo2082b2o352bo$3293b2o377b2o1703bo$3293bobo376bobo
2182b2o$3672bo2183b2o$5858bo2$1310bo$1310b2o$1309bobo427bo3b2o$1738bob
o2b2o3573bo$1305b2o431b2o3579bo$1304bobo4010b3o$1306bo2712b2o$4019bobo
1751bo$4019bo1752b2o$5772bobo$3335b2o$3335bobo376b2o$3335bo377b2o2183b
3o$1724bo3b2o1985bo2182bo$1723bobo2b2o4169bo$1723b2o$1298b2o$1297bobo$
1299bo2$1293b2o3944bo$1294b2o3944bo$1293bo2767b2o1175b3o$4060b2o1752b
2o$1709bo3b2o2347bo1751bobo$1708bobo2b2o4099bo$1708b2o1667b2o$3376b2o
377b3o2183bo$3378bo376bo2184b2o$3756bo2183bobo49bo$5389bo602b2o$5390bo
603bo$1286b2o4100b3o600b4o$1287b2o4700b2o2bo$1286bo4703bobo$1694bo3b2o
4290b3o$1281b3o409bobo2b2o$1283bo409b2o$1282bo2819b3o1874bo12b3o$4102b
o1753b2o121bo10b2obo$4103bo1751b2o122bo10b2ob2o$5329bo527bo132bo2b2o$
3418b3o377bo1531b2o644bo16b2o$3418bo378b2o1530b2o644bobo5b2o$3419bo
377bobo2176bo5b2obo7bo$5980b3ob2o7bo$1679bo3b2o4295bo2b2o7bo2bo$1678bo
bo2b2o4295bo2bo8b3o34b3o$1274b3o401b2o4301b3o9b2o34bo$1276bo4753bo49bo
$1275bo4803b4o$1270bo4807bo3bo$1270b2o4807b2o$1269bobo2873bo1934bo2bo$
4144b2o1933bo$4144bobo1750b3o74bo104bo2bo$5897bo69b2ob2o4bo104b2o$
1664bo3b2o1791bo2436bo69b4ob3o90b3o10bo$1663bobo2b2o1790b2o377b2o1409b
o676b3o15b2o22bo3b2o$1663b2o1795bobo376bobo1409b2o684bo7bobo131b2o$
3839bo1410b2o680bo4b2o6bo118bo13bobo$5925bo4b2o2bobob2o35bo87bobo8b3ob
o$5924bobo7bo2b2o35bobo87bo7b2o2bob2o$1263bo4661bo9b3o37bo95bobo5bobo$
1263b2o4671bo133b2o3b2o3b2o$1262bobo4664bo2b4o135b5o4bo$5929b2o2b2o25b
2o110bob2o43b2o$1258b2o4700b2o111bo44b2o$1257bobo389bo3b2o3745bo719bo
49bo$1259bo388bobo2b2o2531b2o1213b2o516b2o248b3o$1648b2o2536bobo1211b
2o516bobo3bo243bobo$4186bo1730bo2bo3bo243bo$5916b3o250b3o$3502b2o2411b
o2bo137bo112bo$3502bobo376b2o2033b2o69b2o66bobo3b2o$3502bo377b2o2035b
2ob3o2b2o59b2o68b2o4b2o107bo$3882bo2035b4obob3o60bo28bo41bo2bo94bo13bo
$5917bo2bob2o4b2o15b2o70bo17bo23b3o95bo11bobo$5917b3ob3o2bo2bo15b2o54b
o15bo16b2o27bo93bo11b2o$1251b2o381bo3b2o3702bo575b4o3bo3bo69bobo20bo2b
3o6bobo24bo2bo103bo2bo$1250bobo380bobo2b2o3700bobo575bo7bobo71b2o12bo
5bobo4bo36bo89bo14b3o$1252bo380b2o3706b2o575b3o6bo85bobo3b2o3bo2bo34b
2o89bobo6bo7b2o$5914b2o4bo93bo4b2o2bo2bo127bo5b2obo6b2o$1246b2o4666b2o
3bo100b2o3bo133bob2o8b2o$1247b2o4669bo99bo2b4o23b2o109bo2bo9bo$1246bo
2981b2o1679b2o107b2o28b2o109b3o3bo4b3o35b2o$4227b2o1680b2o253bo43bobo$
4229bo1780bo197bo51b2o$5930b2o328b2o$3544b2o2384b2o8bobo64b3o3b2o244bo
2bo$1619bo3b2o1918b2o377b3o2016b2o65b2o2bo245b3obo$1618bobo2b2o1920bo
376bo2018bo63b2o250b2o3bo$1618b2o2303bo2081b2o253b2o$6005b2o3bo65b2o
74b2o104bobo$6009bo2bob2o60bobo66b3o3b3o105bo$1239b2o4766b3o2bobo2bo
15b2o41bo9bobo65bo106bo$1240b2o4021bo630b2o110bo4b2o4bo15b2o52b2o16b3o
40b3o108b4o$1239bo4021bobo630b2o110b2obobo2bo3bo68bo35b3o120b3o9bo$
5262b2o744bo6b3o93bo2b2o7bo133bo$1234b3o4678b2o93bo4b3o85bo5b3o3b2o7bo
28bo104b2o3bo$1236bo4678b2o90b3o92bobo4bo4b2o36bobo89bo16b2o$1235bo
368bo3b2o2659b3o1731b2o3bo94bo5bo3b2o38bo89bobo4b3o8b2o$1603bobo2b2o
2659bo1734b4o101b2ob2o130bo8bo$1603b2o2665bo1735b2o99b2o2b2o135bo4bo6b
3o$6107b2o29b2o107b2o4bo6bo37bo$3585b3o377bo2133b2o37b2o108bo11bo2bo
33b2o$3585bo378b2o1447bo604b2o229b3o8bobo34bobo$3586bo377bobo1444bobo
465b2o137b2o10bo67bo3bo147bo$5412b2o465b2o150bo65bo4bo$6029b3o64b2o2bo
bo$5900b2o193bobo$1227b3o4670b2o192b2ob2o$1229bo359bo3b2o4500bob2o67bo
$1228bo359bobo2b2o4502b2o2bo63b2o$1223bo364b2o4501bo4bo4b5o59bobo67b2o
2b3o$1223b2o4870bo3bobo2b3o16b2o53bo17bo38bo3bobobo$1222bobo3087bo
1777bo4b2o6bo3bo15b2o54bo16bo16b2o21b2o2b2obo$4311b2o1039bobo735bo6bob
o4b3o70b3o16bo8b2o5b2o$4311bobo1039b2o509b2o231b2o6bo93bo4bo2bo6bo$
5353bo510b2o225bo3bob2o94bo5bobob2o2bo35bo$3628bo2463bo99bobo7bo4bo34b
obo94b2o$3627b2o377b2o1877b2o93bo112b4o96bo9bo2bo36bo95bobo$3627bobo
376bobo1876b2o93bobo112bo105bo3bo133bo$1574bo3b2o2426bo1973b2o215b2obo
2bo$1573bobo2b2o4617b2obo2bo24b2o$1573b2o4653b2o$1216bo4736bo154b2o8bo
$1216b2o4736bo153b2o9b2o66b2o$1215bobo4734b3o163b2o66bob2o$5849b2o333b
o$1211b2o4636b2o333bob2o$1210bobo4970bo2bo$1212bo3140b2o1515b2o312bo2b
obo64b3o$4353bobo1514b2o312bo5bob2obo58bo$1559bo3b2o2788bo919bobo915bo
bob2o58bo$1558bobo2b2o3709b2o909bo7bo2b2o15b2o$1558b2o2109b2o1603bo
910bo5b2o4b2o14b2o53bo112b2o$3669bobo376b2o2043b2o94bo3b5o71b2o109b2o$
3669bo377b2o2044b2o90bo3bo4b3o71b2o112bo$4049bo2136bobo6bo$5834b2o346b
2o2bobo$5834b2o346b2o3bo$1204b2o$1203bobo4649b2o$1205bo4217bobo429b2o$
1544bo3b2o3874b2o615bo$1199b2o342bobo2b2o3874bo617b2o154b2o$1200b2o
341b2o4496b2o155b2o10bo86bo$1199bo3195b2o1681b2o128bobo85b2o$4394b2o
1682b2o129b2o85bobo$4396bo$5819b2o$3711b2o2106b2o601b3o$3710b2o377b3o
2330bo$3712bo376bo1275bo474b2o581bo$4090bo1275bo473b2o$1529bo3b2o3829b
3o$1528bobo2b2o4648b2o$1192b2o334b2o4653b2o$1193b2o4743bobo122b2o$
1192bo4745b2o123b2o$5939bo$1187b3o4614b2o$1189bo4614b2o532b2o$1188bo
3247b3o1525bo166bo206bobo$4436bo1388b2o138b2o162bobo206bo$4437bo1387b
2o137b2o164b2o$1514bo3b2o4945bo$1513bobo2b2o2232b3o377bo2035b2o294b2o$
1513b2o2237bo378b2o2035b2o294bobo$3753bo377bobo1914b2o$5286bo761b2o$
5287bo$5285b3o501b2o$1180b3o4606b2o490bo$1182bo5096bobo$1181bo4628b2o
468b2o$1176bo4633b2o$1176b2o321bo3b2o$1175bobo320bobo2b2o2974bo1673b2o
225b2o$1498b2o2978b2o1673b2o224b2o$4478bobo955bo596b2o346bo$5437bo595b
2o$3795bo1639b3o616bo451b2o$3794b2o377b2o1599b2o276bobo451bobo$3794bob
o376bobo1598b2o277b2o165bobo283bo$4173bo2047b2o$5795b2o424bo$5795b2o$
1169bo314bo3b2o$1169b2o312bobo2b2o4648b2o$1168bobo312b2o4653b2o$5376bo
641b2o$1164b2o4211b2o639b2o$1163bobo4210b2o$1165bo3354b2o1237b2o660b3o
$4520bobo1236b2o136bo523bo$4520bo1375bo525bo$5780b2o114b3o$3836b2o
1942b2o766b2o$1469bo3b2o2361bobo376b2o2330b2o$1468bobo2b2o2361bo377b2o
1907b2o424bo$1468b2o2746bo1760bo145b2o16bobo$5975bobo25b2o137b2o$5976b
2o25b2o137bo$1157b2o$1156bobo4585b2o$1158bo4585b2o2$1152b2o4143bo467b
2o$1153b2o4143b2o465b2o697bo$1152bo301bo3b2o3102b2o733b2o1164b2o$1453b
obo2b2o3101b2o1545b2o181bobo169bobo$1453b2o3108bo1544b2o182b2o$5988b2o
302bo$3878b2o2108b2o599b3o$3877b2o377b3o2330bo$3879bo376bo1472b2o859bo
$4257bo1471b2o$5447bo$5448b2o300b2o$1145b2o4300b2o301b2o312bobo$1146b
2o291bo3b2o4620b2o166bo$1145bo292bobo2b2o4620bo27b2o139bo$1438b2o4653b
2o137b3o$1140b3o$1142bo5362b2o$1141bo3461b3o1899bobo$4603bo1110b2o789b
o$4604bo1109b2o$5389bo1242bo$3919b3o377bo1087bobo345b2o894b2o$3919bo
378b2o1088b2o345b2o894bobo$1424bo3b2o2490bo377bobo$1423bobo2b2o4426bo
221b2o$1423b2o4429b2o222b2o$5855b2o$1133b3o$1135bo$1134bo4564b2o453bo$
1129bo4569b2o454bo$1129b2o5022b3o$1128bobo3515bo1073b2o825b2o$4645b2o
1073b2o824b2o$1409bo3b2o3230bobo1900bo$1408bobo2b2o$1408b2o2552bo2710b
2o$3961b2o377b2o968bo1362bobo$3961bobo376bobo965bobo1362bo$4340bo968b
2o993bo$5684b2o619bo$5684b2o617b3o$1122bo$1122b2o4581b2o$1121bobo4581b
2o$1394bo3b2o$1117b2o274bobo2b2o$1116bobo274b2o4065bo$1118bo3568b2o
769bobo1127b3o$4687bobo769b2o1127bo$4687bo1556bo344bo$5669b2o574b2o$
4003b2o1664b2o573b2o469b2o$4003bobo376b2o2330b2o$4003bo377b2o1307b2o
1024bo$4383bo1306b2o$1379bo3b2o$1378bobo2b2o$1110b2o266b2o4019bobo$
1109bobo4288b2o$1111bo4288bo2$1105b2o4547b2o157bo$1106b2o4546b2o157bob
o815bo$1105bo3623b2o1082b2o815b2o$4728b2o945b2o953bobo$4730bo944b2o$
1364bo3b2o4795bo$1363bobo2b2o2675b2o2119b2o588b3o$1363b2o2679b2o377b3o
1739b2o589bo$4046bo376bo2333bo$4424bo2$5639b2o$1098b2o4539b2o$1099b2o
4219bobo$1098bo4222b2o337b2o$5321bo338b2o653bo$1093b3o253bo3b2o4961b2o
$1095bo252bobo2b2o4960b2o355b2o$1094bo253b2o3420b3o1899bobo$4770bo
1901bo$4771bo$6799bo$4086b3o377bo1157b2o1172b2o$4086bo378b2o1003bobo
151b2o1172bobo$4087bo377bobo1003b2o$5471bo173b2o$5645b2o610bo$1334bo3b
2o4915bobo$1086b3o244bobo2b2o4916b2o$1088bo244b2o$1087bo$1082bo$1082b
2o$1081bobo3729bo598bo196b2o1103b2o$4812b2o599bo195b2o1102b2o$4812bobo
596b3o1301bo$5630b2o$4129bo1500b2o1208b2o$1319bo3b2o2803b2o377b2o1262b
obo1066bobo$1318bobo2b2o2803bobo376bobo1261b2o1067bo$1318b2o3187bo
1264bo3$1075bo5102bo$1075b2o4517b2o580bobo$1074bobo4517b2o581b2o2$
1070b2o4543b2o$1069bobo4543b2o$1071bo232bo3b2o3544b2o1899b3o$1303bobo
2b2o3544bobo476bo1421bo$1303b2o3549bo479bo1421bo$5332b3o$4170b2o2156bo
553b2o$4170bobo376b2o1775bobo552b2o$4170bo377b2o1029b2o746b2o554bo$
4550bo1028b2o2$5600b2o$1063b2o4535b2o$1062bobo224bo3b2o4188bo$1064bo
223bobo2b2o4189bo$1288b2o4192b3o$1058b2o$1059b2o5206bobo528bo$1058bo
3837b2o1370b2o527b2o$4895b2o667b2o702bo528bobo$4897bo666b2o2$4212b2o
1371b2o1336b3o26b2ob2o$4211b2o377b3o992b2o1336bo28b2o3bo$1274bo3b2o
2933bo376bo832bo1500bo25bo5b2o$1273bobo2b2o3311bo832b2o1523b5o3b4o10b
2o$1273b2o4148b2o1524bo7bo2bo10bobo$6949bob4ob5o10bo$1051b2o4677bo
1219b2o3b4o$1052b2o4675bo1227b2o$1051bo4497b2o178b3o1224bo$5549b2o$
1046b3o5894bo$1048bo4521b2o1267b2o101bobo$1047bo3889b3o630b2o616bobo
648bobo102bo$1259bo3b2o3672bo1251b2o648bo102b2o$1258bobo2b2o3673bo
1250bo752bo$1258b2o5680bo$4253b3o377bo2305bobo$4253bo378b2o2304b2ob2o$
4254bo377bobo2306b3o$5344bo189b2o1406b2o3bo65b2o$5345b2o187b2o1363bo
39b5o2bobo63b2o26b3o$5344b2o1553bo39bo2bo2b2ob2o64bo25b2o5b3o$1039b3o
4513b2o781bobo558bo39bo2bo3bobo92bo3b4obo10bo$1041bo4513b2o782b2o562bo
36b2o4b2o90b3o3bo6bo8b2o$1040bo203bo3b2o5089bo562b4o132b2o9bo10bobo$
1035bo207bobo2b2o5646b6o3bo132bo2bo$1035b2o206b2o5650bob2ob2o2b3o132b
3o3b2o$1034bobo3943bo1900b2o11b2ob2ob2obobo26b2o111b2o$4979b2o1899b2o
13bo2bo3b4o26b2o26bobo$4979bobo512bo1387bo12b2ob2o3bo57b2o$5495b2o22b
2o1375bobo30bo31bo$4296bo1197b2o23b2o1376bo30b2o103bo$4295b2o377b2o
1604bo647bobo103b2o$4295bobo376bobo863b2o739bo613b2o137bo$4674bo865b2o
737b3o608b2ob2o2b4o132b2o$1229bo3b2o5654b2o2b2o2b4o128b3obo$1228bobo2b
2o5655bobob2o132b4obo$1028bo199b2o5661b2obo133b5o$1028b2o5862b4o21b2o
109b2obo5bo64b2o$1027bobo5863bobo21b2o116bob2o63bobo$5436bo1452bo4bobo
7bo82b3o38bobo2b2obob2o62bo$1023b2o4409bobo67b2o1382bobo4bo9bo121bo6bo
4b2o$1022bobo4410b2o67b2o1382bo2bo11b3o122b2obo3b5o92b3o14b3o$1024bo
3996b2o1866b2o96bo3b3o35b3o6bo103b2o5bo$5021bobo501b2o162bo1298bo3bob
2o141bo2b2o2bo5bo$5021bo503b2o160b2o1295b3o2b2obo137bo6bob3ob3o$1214bo
3b2o4468b2o1280b2o12bobo3bo4bo133bobo7bobob2o$1213bobo2b2o3117b2o2543b
2o86bobo11bo2bo4b3o27b2o106bo8bo3bo$1213b2o3122bobo376b2o2164b2o86bo
14bobo4bo29b2o28bo86bobo$4337bo377b2o1484bo700b2o81b3o65bo80b2ob3obo$
4717bo1484bo699b2o73bo39b3o31b3o80b2o$6200b3o774bo39bo$6988bo29bo$
1016b2o5961b2o2b4o2bo134b3o$1015bobo5961bo2b2ob2o2bo135b2o$1017bo4492b
2o1467bo8bo134bobo$5510b2o1468b2obo136b2ob2o$1011b2o186bo3b2o4152bo
1624b2o136b2obobo66bo$1012b2o184bobo2b2o4150bobo1509b2o115bo22b2o111b
3o68b2o$1011bo186b2o3863b2o291b2o993bo515b2o109bo4bobo6bo14b2o68bobo
47b4ob2o57bobo$5062b2o1288bo624bobo4bo8b2o81b2o50bobobobo$5064bo1285b
3o624bo2bo11b2o82b2o2bo47bob3o2bo87bo15b2o$6978b2o97b2o3bo46bo5bo87bo
14b2o$4379b2o2697b2obobo43bob2o4bo87bo5bo2bo7bo$4378b2o377b3o2314bo4b
3ob2o40b2o3bo3bo93b4o2bo$4380bo376bo2302bo12b3o7b2o37b2ob2o4b3o86bo12b
2obo$4758bo736b2o1562b2o12bo2bo3b3o36b2o2bobo93bobo7b2o5bo$5495b2o
1562bobo12b3o42b2o3bo95bo7b3ob3o$1184bo3b2o5885bo149b3o2bob3o$1004b2o
177bobo2b2o5662b2o138b2o72bo40b2o5b2o108bobo3bo$1005b2o176b2o5106bo
560b2o138b2o71bobo8bo29b2o6b2o108bobob2o$1004bo5287b2o783bo30bo116bo$
6291b2o775bo4b2o3bo$999b3o6066b2ob2obobobo67bo68b2o$1001bo6067b2obo4bo
69b2o64bo2bo$1000bo4103b3o1958b2o3b3o73b2o62b2o5bo$5104bo2105b2o4bo$
5105bo374b2o1591bo135bo3b6o61b3o$5446bobo31b2o1433bo151bo4bobo7bo127b
4o3bobo60bo$1169bo3b2o3245b3o377bo646b2o1467b2o148bobo4bo6bobo127b3o3b
o64bo$1168bobo2b2o3245bo378b2o646bo1389b2o76b2o60b2o87bo2bo11b2o16b2o
116b2o109b2o$1168b2o3251bo377bobo2035b2o138b2o88b2o30b2o118bo5b2o101bo
bo$5646bo1524bo46bob2o3b3o84b3o13bo$5646bobo1521b3o47b2o3b2o$5646b2o
1521b5o40bo3b4o3bo91bo5b3o$992b3o6153b3o22b2o46b4o85bo6b3o6bo$994bo
6153bo16b2o5b2o35b2o2bobo5b3o85bobo5b2o2bobo2bo$993bo5218bo936bo15bo
47b3o6bo87bo9bo5bo$988bo4476b2o746b2o981b2o15b2o99b2o3b2o4bo$988b2o
4475b2o745b2o952bobo27bobo5b2o108bob3o3b3o$987bobo164bo3b2o3987bo2019b
o28bo7b2o108bob5obo$1153bobo2b2o3986b2o1674b2o138b2o89bo30b2o77bo151b
2ob2o$1153b2o3991bobo1673b2o138b2o88bo31b2o77bo$7052b3o108bo$4463bo
2774bo62b2o$4462b2o377b2o524bobo1795b5o66bobo61b4o3bo$4462bobo376bobo
524b2o1788b2o5bo71b2o59b4o5bo62b2o$4841bo526bo993bo642bo153bo6b2o2bo
127bo3bo3bo62b2o$6363b2o638bobo151b3o10bo127bob4ob2o64bo$5450b2o910b2o
640b2o155bo6bo130b2o6bo$981bo4468b2o1708b3o5b3o18b2o115bo2b2o$981b2o
156bo3b2o6014b2o2bo25b2o69b3o43bo4bo2b4o$980bobo155bobo2b2o5662b2o138b
2o120b2o88b2o2b2o98bo44bo2b5ob2o$1138b2o5667b2o138b2o120b2o88bob3o95bo
4bo46b2o4b2o$976b2o6182b3o75b2o19b3o3bo46bo2b2o$975bobo6199bobo57b2o
26bo38bo7bo$977bo4210b2o1988b2o59bo15b2o6bobo36b2ob2o5bobo$5188bobo
1987bo78bo5b2o21bo15b2ob2o4b2o$5188bo1115bo950b2o28b2o16b3o6b2o$6302bo
bo980bobo6b2o$4504b2o929b2o866b2o989b2o$4504bobo376b2o550b2o1737b2o$
1124bo3b2o3374bo377b2o2290b2o76b3o156b3o$1123bobo2b2o3754bo1907b2o138b
2o120b2o198bo156bo$1123b2o5667b2o138b2o120b2o198bobobo153bo$5459bo
1794b3ob2o67bobo$969b2o4489bo1467bo163bobo153b2o5b5o68b2o$968bobo4487b
3o1465bobo164b2o152bobo6bo71bo$970bo5956b2o164bo157bo4bo2bo$7248b2o2bo
4bo2bo$964b2o4638bobo1642b2o6b2obo18b2o$965b2o4453b2o182b2o1643b7o2b2o
19b2o$964bo4265b2o188b2o183bo1553b2o94bo$1109bo3b2o4114b2o1928b2o92b3o
71b2o$1108bobo2b2o4116bo1545b2o138b2o120b2o286bobo$1108b2o5115bo551b2o
138b2o120b2o228bo57bo$4546b2o1675bobo1044bo$4545b2o377b3o1297b2o1042b
3o183bo$4547bo376bo2528b2o$4925bo2086bo440bobo$7010b2o$7011b2o251b2o$
957b2o4421bo24b2o1857b2o$958b2o4421bo23b2o1737b2o$957bo136bo3b2o4279b
3o1762b2o$1093bobo2b2o5275bo386b2o138b2o111bobo6b2o$952b3o138b2o5278bo
bo386b2o138b2o112b2o6b2o$954bo5419b2o640bo$953bo4317b3o$5271bo2097b2o$
5272bo2095b2o$7370bo$4587b3o377bo2222bo58b2o$4587bo378b2o422b2o1799bo
57b2o244b2o$4588bo377bobo421b2o1737b2o58b3o303bobo$1079bo3b2o6044b2o
364bo$1078bobo2b2o5229bobo430b2o138b2o120b2o537b3o$1078b2o5235b2o430b
2o138b2o120b2o539bo$945b3o5367bo1233bo$947bo6601bo$946bo6600b2obo$941b
o6604bobobo$941b2o6397bo$940bobo4371bo155bo1634bo128b2o105bo205bo3b2o$
5313b2o156b2o1465bobo165bo127b2o103b3o208b2o$5313bobo154b2o1467b2o163b
3o7b2o294b3o$1064bo3b2o5869bo174b2o294bo$1063bobo2b2o3560bo932bo1168b
2o138b2o120b2o415bo123b3o$1063b2o3564b2o377b2o552bo1169b2o138b2o120b2o
541bobo7b2o$4629bobo376bobo551b3o1972b4o6bobo$5008bo2524bo3bo3bo6b3o$
7532bobo3b2obo8bob2o$7533bo5b2ob2o5b2o2bo31bo$934bo5300bobo1042bo255bo
4bo2bo5b3o31b2o$934b2o5300b2o981b2o60b2o253bo4b2ob2o38bobo$933bobo
5300bo982b2o59b2o254bo5bobo94b2o$7099b2o442bo94bob2o$929b2o118bo3b2o
5914bo129b2o437b3o96b2ob2o$928bobo117bobo2b2o5662b2o138b2o110bobo7b2o
659b3o$930bo117b2o4305b2o1360b2o138b2o110b2o8b2o656b5o$5355bobo2095bo
183b2obo$5355bo2096b2o183b2o$7028bo423bobo75bo108b3o$4671b2o1712bobo
641bo495b3ob4o107bobo$4671bobo376b2o1334b2o639b3o470b2o22b6o2b2o107bo$
4671bo377b2o1335bo817b2o293b2o22b2o3bo2b2o108bo$5051bo2152b2o280bo14bo
21b3o2b2ob2o93bobo$7084b2o400bo11b2o24b2o2b3o95b4o$1034bo3b2o6044b2o
400bo10b2o26b3ob2o99bo6b2o$922b2o109bobo2b2o5662b2o138b2o120b2o525b2o
3bobo28b2o3bo93b3o2bo4bo3bobo$921bobo109b2o5667b2o138b2o120b2o235bo
281bo6bob2o2bo30bo3bobo89bobo5b2o4b2o4bo$923bo6278b2o278bobo6b2obob2o
34bo89bobob2obobobo9bo$7201b2o280bo7b2ob2ob3obo121bo2bo5b3o3bo4bo29b3o
$917b2o5408bo1163bo2bo4b2o125bobo5b2o2b2obobo29bo$918b2o5408bo1157bo6b
o23b2o106b2o5bo2b2o3b3o31bo55bo$917bo4479b2o927b3o1156bo4b3o24b2o111bo
3b2o92bob2o$5396b2o1791b2o295bo2b2o141b3o92bo2bo$5398bo1790b2o438b3obo
92bo2bo$7069b2o558bo97b2o$1019bo3b2o3688b2o2354b2o655bobo3bo$1018bobo
2b2o3687b2o377b3o1593b2o138b2o522bo189b3o182b3o3b2o$1018b2o3694bo376bo
391bo1203b2o138b2o287bo235b2o116bo70bo184bo6bo$5092bo388bobo1633b2o
232b2o116bob2o69bo186bob3o$5482b2o1632b2o355b2o6bo107b2o31b2o104bo4bo$
7470bo3bobo3bo108bobo30b2o106bobo$910b2o4610bo1948b2o3bo3bo2b2o17b2o
85bo140b3o$911b2o4607b2o1954bo2bo4bo17b2o70b3o141b2o$910bo4610b2o1651b
2o301bob2o3b2o100b3o129bobo$7174b2o302bo3bob3o2b2o68bo19b2o4bo32b3o95b
o3bo6bo$905b3o6146b2o420b3o4b4o4bo68b2o10bo8b2o2bo34bo92b2ob2obobo4bob
o$907bo96bo3b2o5238bo805b2o426b2o2b2ob2o68b2o10bobo5bo3bob2o3bo27b2o
93b2o2bo2bobo2bo$906bo96bobo2b2o4428b3o808bo422b2o138b2o479bo188bo3b2o
84bo8bobo3bo2bo121bob4o3b3obob2o34b2o$1003b2o4433bo808b3o422b2o138b2o
477bobo188bo3b2o92bobo5b2o126b2o7bobo2bo31b2o$5439bo1852b2o192bo87bo2b
2o2b2o132bobo3bo8bo33bo55bo$7467b2o14b3o89b5obo25b2o106b3o3bo5bo2b2obo
85b3o$4754b3o377bo1792bobo537b2o106b2obo3bo24b2o106b3o2b2obo93b6o$
4754bo378b2o1792b2o558b2o229b2o6bo90b2o$4755bo377bobo1792bo558b2o229b
2o2b4o89b2o3bo$7159b2o404bo152b3ob2o91b2ob3o$7159b2o404bo65b2o188b3o$
6398bo1160bo70b2o186b3obobo$898b3o88bo3b2o5404bo1103bo54bobo8bobo60bo
182b4o2b2ob2o$900bo87bobo2b2o5402b3o257b2o138b2o702bobo55b2obo5bo110bo
139bo2b3o$899bo88b2o5667b2o138b2o703b2o56b4o2b4o2bo105b2o32b2o105bo4bo
$894bo6666bo3b3o4bo104b2o33b2o109bo$894b2o6556b2o112b3o4bo5bo12b2o71bo
10bo131bo11bo2bo$893bobo4585bo1970b2o114bo5bo17b2o71bo10b3o128b4o9b3o$
5480b2o2084bo3b2o2bo4bo85bo5bo6bo30b2o94b7o$5480bobo1731bo351bo5bo2bo
2b2o90b2o4bo34bo91b2ob2o10bo$7144b2o66bobo351bo5bo2bo2b2o71bo10bo6bob
2obobo32b2o92bo2bo3b5o3bo$4797bo2346b2o67b2o357b2obo73bobo9bobo4b3o3bo
130bo7bo4bo33b2o$4796b2o377b2o1161bo1233b2obo74b2o10bo6b2ob2o3b3o123bo
2bo4bobob2o35bobo$974bo3b2o3816bobo376bobo1161b2o1231b2obo93b2ob3o2b3o
123bobobo3b2ob3o35bo57b2o$973bobo2b2o4195bo1162b2o302b2o138b2o782bo6b
2o93bo3b2o129bo7bob2o4bobo87b2o$973b2o5667b2o138b2o782bo104bo25b2o108b
o2b3o7b2o88bo$7668bo28b2o105b3o4b2obo5bo$887bo6549b2o138b2o227bo5bo2bo
94bo$887b2o6548b2o138b2o228b3o5bo90bo4b2o$886bobo6475bo355b2o86bo3b2o
90b2o2bo5bo$7362bobo355bobo85bo2b2o92bo4b2o3bo$882b2o6479b2o225bobo56b
o70bo89bo94b2o5bo$881bobo6707b2o55bo256bo4b2o3bo$883bo6707bo62bo113b2o
136b2ob2obo2bo$959bo3b2o6688bobo2b3o105b2o2bo31b2o103bob2o3bo$958bobo
2b2o5662b2o138b2o881b2o2b2o4bo105b2ob2o31b2o108bob2o$958b2o5667b2o138b
2o913b2o84bo143bobo$4838b2o2818b2o22b2o70b3o137bo14b2obo$4838bobo376b
2o2203b2o138b2o91bo2bo234b3o6b2o5b2obo$4838bo377b2o1041bo1162b2o138b2o
91b3o11b2o91bobo127b2o2b2o3bo2b2o2b2obo$5218bo1041b2o1041bobo350b2o2b
2o6bo83bo8bob3o127b5o2b2o4b3o33bo$6259b2o1043b2o354b2o78bobo8bobo8bo6b
o123b2ob2o2bo4bo2bo32b2o$7304bo356b2obo76b2o9bo7b2o3bo3bo123bob3o4bob
2obo33bobo55b2o$875b2o6009bo775bo2bo75bo19bobo2b2obo123b2o3bo5b2obo91b
3o$874bobo6008bo779bo93bobo6bo125bob2o2bobo2bo5bo86bo2bo$876bo67bo3b2o
5935b3o775b2o95bo26b2o104b2o4bo12bo86b3o$943bobo2b2o5662b2o138b2o1033b
2o105b2o3b2o9b3o86b2o$870b2o71b2o5667b2o138b2o913b2o235b3o88bo4bo$871b
2o6794b2o141bo87bo2bo92bobo3bobo$870bo5538bo997b2o138b2o260b2o88b2o93b
obo3bo2bo$6410b2o995b2o104bobo31b2o260bobo88bo99bob2o$6409b2o1103b2o
166bo311b4o2bo2bo$7514bo168bo173b3o134bo2bo2b2obo$4880b2o2799b3o60bo4b
2o106b3o135bo3b3obo$4879b2o377b3o2482bobo5bo104bobobo31b2o102b2ob2o2bo
$4881bo376bo2485b2o2bo2bo104bobob2o30b2o103bo2bob3o$929bo3b2o4324bo
2490b2o20b2o71bo11b2obo122b2o15bob2o$928bobo2b2o5662b2o138b2o485bobo
521bobo21b2o71bo11b2o124bo2bo5bo9bo$928b2o5667b2o138b2o486b2o425b2o92b
4o95bo8bo128bo6b3o8bo$863b2o6360bo426b2o91bob2o105b2o129bo3b2obo3b2o$
864b2o5485bo1040b2o138b2o211b3obobo90bo8bo4bo135b3o35b3o$863bo5485bobo
1040b2o138b2o298bo8bobo6bobobo3b2o126bo4b4o3bo31bo$6350b2o1399bo81bo8b
o8bo2bo3bobo126b3o8bo32bo58bo$858b3o6970b3o16bo9bo133bo2b2o88bo4bo$
860bo6893b2o94b3o3b4o137bo89bo4bo$859bo6990b3o4bo19b2o104bob2o8bo5bo
86bo$7877b2o104bo2bo7bobo5b2o$914bo3b2o6454bobo380b2o224b3o9bo5b2o87bo
$913bobo2b2o5662b2o138b2o651b2o226bo153b2o139b3o86b3o5bo88b3o3b4o$913b
2o4006b3o377bo1280b2o138b2o651bo228bo32b2o259bo89b3o93b3o4b3o$4921bo
378b2o2300b3o32b2o260bo90bo92b3o6bobo$4922bo377bobo2074b2o138b2o428b3o
133b3o4b3o$7377b2o138b2o253bo173bo136b3o4b4obo$7773b2o59bo6bo103bo3b2o
133b2o6bo2bo$7772b2o59bobo5b2o107b2o30b2o101b2o6b2o$851b3o6980b2o5b2o
104bo34b2o89bo12b2o5b2o$853bo6985bobo20b2o84b4o120b2o8bo4bo$852bo5419b
o1043bo521bo2bo20b2o70b3o7bo3b3o121bobo5b2obo$847bo51bo3b2o5365bobo
1044bo424b2o95bobo102bo3bo131bo$847b2o49bobo2b2o5366b2o294b2o138b2o
606b3o424b2o96bo105bo138bo34b2o$846bobo49b2o5667b2o138b2o913b2o211b2o
95bo15b2o127b2ob3o2bo33b2o$6845bo776b2o307bobo5b3o4bo130bo3b5ob3o31bo$
6843b2o657b2o418bo9bo9b3o2bo2bo128b2o6b3o$6844b2o656b2o419b2o13bo11bo
127bo7bo2bo$4964bo2957b2o23bobo125bobo$4963b2o377b2o2595b2ob2o3bo19b2o
104b4o$4963bobo376bobo2596bo25b2o103bob2o9bo7bo$5342bo1079bo1103bo320b
2o139b2o82bo11bobo4bobo86bo$6420bobo1104bo319b2o138b2o84bo4b2o5bo6b2o
85bo2bo$884bo3b2o5531b2o1102b3o165bo33b2o260bo89b2o97bo3bo$840bo42bobo
2b2o5662b2o138b2o1000b2o31b2o308b3o40bo97bo$840b2o41b2o5667b2o138b2o
913b2o84b2o341bo2b2o138bobobobo$839bobo6765b2o427bo3bo139bo4bo$7487b2o
375bo59bo113b4o140b2ob2o$835b2o6400bo249b2o373bobo58bobo111b2obo31b2o
101b3o4b2obo$834bobo6401bo624b2o59b2o4bobo106b2o31b2o87b3o11bo2bo4b2o$
836bo6399b3o690b2obo19b2o71bo11bobo121bo14b3o$7928bo4bo18b2o71bo11bo
124bo8bo$6361bobo1468b2o94bo3bo92bo12bo170b2o$6362b2o1468b2o95b3o235b
3o39bobo$869bo3b2o4130b2o1355bo1349b2o308bo14b2o128b3o7b3o29bo$868bobo
2b2o4130bobo376b2o1151b2o138b2o1033b2o307bobo9bo2b3o127b2ob2o4b4obo$
868b2o4135bo377b2o1152b2o138b2o913b2o428bo7bob3o2bo128b3obo3bo3b3o$
5385bo2206b2o420bo14bobobo5bo127b2obo2b2o$7472b2o538bobo14bo3bo3b3o
127bo4b2o$7472b2o539b2o14bo2b2o23b2o$828b2o6784bo415bobo24b2o18b2o96bo
$827bobo6785b2o320b2o92bo45bobo89bo4bobo5bobo84bo$829bo6784b2o321b2o
138bo90bobo4bo7b2o84bo$7817b2o308b3o38bo2bo11bo85bo$823b2o6960bo31b2o
307bobo40b2o102bo$824b2o28bo3b2o6837b2o84bobo340bo3bo141b4o$823bo29bob
o2b2o5662b2o138b2o1033b2o85b2o341b3o136b6o3bo$853b2o5667b2o138b2o913b
2o435bo250bob2ob2o2b3o$7577b2o374bobo57bobo4bo106bo34b2o87b2o11b2ob2ob
2obobo$6282bobo1042bo129b2o495b2o58b2o3b2o109bo31b2o86b2o13bo2bo3b4o$
5047b2o1234b2o1043b2o127b2o495bo63bobo21b2o84bobo121bo12b2ob2o3bo$
5046b2o377b3o855bo1043b2o688b3o22b2o70b3o10bo138bobo30bo$5048bo376bo
2496b2o203b2o138bo30b2o$5426bo1375bo1119b2o95b4o106bo168bobo$6802bobo
997b2o216b2o90bo10bob2obo136b2o$6802b2o998b2o216bo90bobo6b2o6bo131b2ob
2o2b4o$816b2o21bo3b2o6837b2o428bo6bo8bo130b2o2b2o2b4o$817b2o19bobo2b2o
5662b2o138b2o1033b2o434b2obo7bo130bobob2o$816bo21b2o5667b2o138b2o913b
2o539bobo11b2o8bob2o130b2obo$6432bobo1102bo24b2o540b2o12b2o3b2o3b2o17b
2o18bo94b4o$811b3o5619b2o1007b2o94b2o564bo17bo24b2o17b2o95bobo$813bo
5619bo1008b2o93b2o167bo320b2o93bo43bobo49bo40bo4bobo7bo$812bo6891bobo
320b2o189b2o38bobo4bo9bo82b3o$7705b2o200b2o311bo37bo2bo11b3o$7907b2o
308b4o38b2o96bo3b4o$7787b2o85bobo338b2o2bo144bo$5088b3o377bo1779bo538b
2o86b2o339bobo136bo6b2o$824bo3b2o4258bo378b2o1780b2o416b2o206bo228bo5b
o105b3o121b2o12bo3bo3bo$823bobo2b2o4259bo377bobo1022b2o138b2o614b2o
417b2o376bo57bo2bo3b2o140b2o86bobo10b2obo3bobo$823b2o5549bo117b2o138b
2o913b2o497bo57bo2bobo2bo139b2o86bo13bob2obo$6375bo1171b2o495b3o64bo
20b2o71bo12b3o133bob2obo2bo$6373b3o1051b2o677b2o24b2o71bo10b2obo134b2o
3bo27b3o$804b3o6620b2o583b2o191bo10b2ob2o135bobo28bo$806bo7205b2o95bo
2bo103bo2b2o130b3o5bo28bo$805bo7086b2o216bobo89bo16b2o128bo5b5o$800bo
7091b2o217bo89bobo5b2o138bo10bo$800b2o6970b2o428bo5b2obo7bo128bo4b4o3b
o$799bobo6970b2o432b3ob2o7bo129b3o4bo2bo$809bo3b2o6812bo24b2o541bo10bo
2b2o7bo2bo127b3o5b2o$808bobo2b2o5662b2o138b2o1006bobo24b2o542bo9bo2bo
8b3o16b2o16b3o$808b2o5667b2o138b2o1007b2o566b3o10b3o9b2o16b2o16bo$
5131bo2985b2o137bo51b2o39bo5b2o$5130b2o377b2o1901b2o381bobo319b2o188b
2obo37bobo13bo84bob2o$5130bobo376bobo1900b2o382b2o199b2o307b2o2bo37bo
2bo13b2o81b2ob3o$5509bo2286bo200b2o306bobo2b2o37b2o13b2o82b2obob3o$
7877b2o87bo337bo3bob2o138b2o2bo$6295bo1581b2o88bo337b2obobo119bo13bo5b
o3bo$793bo5502bo1043bo416b2o206b3o232bo105bo122b2o13bo$793b2o5499b3o
1041bobo416b2o434b2ob2o4bo104bo2bo31b2o85bobo12bo3bo4bo$792bobo6544b2o
296b2o496bo58b4ob3o104bo3bo31b2o100bo3bo2bo$6462b2o138b2o1033b2o497b2o
57bo3b2o21b2o219b2o32b2o$788b2o5672b2o138b2o156bobo1372b2o85b2o70b3o
13bo131bo2bo3b2o25b2o$787bobo5970b2o1340b2o201bo3bo131b3o5bo28bo$789bo
5971bo635b2o703b2o97bo104b5o130b2o2bob2obo$7397b2o583b2o216bobo89bo6b
2o7bo2bo126b3o5bo$7982b2o217bo89bobo4b2o10bo126bob2o4b3o2b2o$6445bo
1416b2o428bo6bo2bo5bobo126bo3bo2bo5b2o$5172b2o1272bo1415b2o431bobo2b3o
134bo6bobobobo$823b2o4347bobo376b2o891b3o1295b2o550bo6bo43b2o91bo8b3o$
822b2o4348bo377b2o2164bobo23b2o541bo9bo3bo7bo19b2o15b2o94b2o6bo$824bo
4727bo2164b2o567b2o20bo18b2o17bo50b3o$6447b2o138b2o1128bo489b2o76b2o
10bobo139bo$6447b2o138b2o1298bo319b2o89bo101bo37bobo101bo$7888bo198b2o
307bo3bo37bo2bo14bo85b2o$7261bo120b2o502b3o198b2o307bo3bo38b2o13bobo
84b4o$7259bobo120b2o583b2o426b2o58b2o83bo4bo$7260b2o705b2o87bo338bobo
2bo117b3o19b2o3b2o$776b2o5607bo1461b2o208b2o229b2o108b3o117bo22bo4b2o$
777b2o5607b2o1459b2o207b2o225b3obobo106bo35b2o85bo17bo6bobo$776bo5608b
2o1340b2o554bob3o2bo105bo35b2o104bo5b2o20b2o$7727b2o498bo56b5o23b2o71b
o151bo28bobo$8225bobo84b2o71bo180bo$6572b2o1618b2o32b2o157bo10b2o$
5214b2o1356b2o1618b2o97bo96b2o6bobo135bo$864b3o4346b2o377b3o2477b2o
216bobo89bo5bobo6bobobo132b2o$864bo4350bo376bo1774b2o703b2o217bo89bobo
4bobo7b2obo133bo$865bo4727bo1773b2o583b2o428bo6bob2o6b3o132b2obob2o$
7952b2o436bo2bo40b2o99bo$7832b2o550b3o4b3o40bobo92b2o4bo4bo$7808bo23b
2o583b2o15bo52bo42b2o8bo$7809bo567bo10bo28b2o67b3o41b2o5b2o$7807b3o
487b2o76bobo10bo97b2obo39b2obo4b2o2bo$8297b2o77b2o10bo96b2obo46bob2o2b
o91bo$764b3o5790b2o1418bo199b2o307b3o41bob9o91bobo$766bo5539bo250b2o
1419b2o197b2o304bo3b2o42b2o4bo93b2obo$765bo5541b2o1668b2o78b2o424bob2o
b2o45b2o71b2o21b2o3bo$6306b2o1749b2o320bo109bo45bo71b2o20bo2b3o2b2o$
7937b2o209bo230b2o103b3o122bo20b2obo4bo$6719bo1217b2o207bobo224b2o3bo
2bo167bobo82bo3bo17bo$907bo4347b3o377bo1082bo1098b2o328b2o224bob6o169b
2o82bob2o17b2o$906b2o4347bo378b2o1082b3o1096b2o555bo3b2o22b2o69b3o48b
2o24bo84bo19bobo$906bobo4347bo377bobo2679bobo55bo3bo23b2o81b2o37b2o$
8282b2o33b2o56b3o100bo6bobo$8282b2o33bo63bo89bo5b2o7bobobo133b2o$6542b
2o1618b2o216bobo87bobo4bobo8b3o133b2o$6542b2o1618b2o217bo89bo6bobo8bo$
8042b2o430bo4bob2o41bo99b2o$8042b2o430bo5b2o41b2o99b2o$753bo7168b2o
550bo48bobo55bo37b2o8b2o$753b2o7167b2o657b2o37b2o6bo$752bobo7143bo577b
3o102bobo35bobo6bo$7899b2o486b2o77bobo40b2o108b3o6bo$7271bobo624b2o
487b2o78b2o40b2o113b2o2bo93bobo$7272b2o993b2o198bo108bo3b3o36b2ob5obo
92bo3bo$5298bo1973bo796bo197b2o307bob4ob2o36bo2bobo2b2o66b2o27b2o$948b
2o4347b2o377b2o720bo128b2o1538bobo77b2o427bo6b3o41bo69bobo20b4o4bo$
948bobo4346bobo376bobo717bobo128b2o1539b2o77b2o314bo3b3o107bob2o3b3o
38b2o70bo25bo3bobo$948bo4727bo720b2o1628b2o433bo6bo106bo8b2o135b2o5b2o
$8027b2o208bobo222bo5b2o107b3ob4o56bo80b2ob5o14b3o$7907b2o329b2o223b5o
113bobobo56bo80bo20bo$7907b2o329bo225b3o116bobo28b2o24b3o83b2o17bo$
8408bo56bo115bo2b2o28b2o110bo$8372b2o35bo60bo23b2o85bobo$8372b2o33b3o
59bobo22b2o68b3o6bo7b3o130b2o$741b2o7509b2o216bo93bo2bo4bob2o3bo134b2o
$740bobo7509b2o310bo2b2o3b4ob3o$742bo5769b2o1618b2o431bo5bo4bo35b3o99b
2o$6512b2o1618b2o430bo3bo3b2o2bobo33bo58bo38b2o2b2o$8012b2o550b2ob2o2b
3o2b3o34bo56b2o37bo2bo$8012b2o551bob2o2b2o3bo4bo87bo2bo$5339b2o3224bo
16b2o86b2o41bo$990b2o4347bobo376b2o2270bo574bo4b2obo2bo4b2o16b2o70bo
38bo2bo$989b2o4348bo377b2o600bo1668bobo575bo4b2o3bo22b2o109bobo2b3o$
991bo4727bo597bobo1669b2o366b2o120b2o87b4o4bo88b3o3b3o38b2o2bo70bo$
6318b2o2037b2o120b2o89bo94b3o3bobo36bobobo3b2o66b2o$8158bobo76b2o323bo
11bo97b2o37b2ob2o2b2o66bobo$6678bo1480b2o76b2o324bo7b2o92b3o3bobo42b2o
$6497b2o177b2o1439b2o40bo401bo103bo2b2o2bobo$6497b2o178b2o1438b2o210bo
231bo2bo101bo5bob3o$7997b2o331bo336b3obo2bo56bo$729b2o7266b2o329b3o
165bo66b2o106b2o31b2o26b2o$730b2o7765b2o156bo15bobob2o27b2o25b2o$729bo
7766b2o86b2o68b4o6bo8bo$8584b2o67bo2b2o4b2o7bobo$8342b2o120b2o191b2ob
2o5bo$8342b2o120b2o192b2o3bo3b2o33b2o$5381b2o2839b2o434b2ob2ob4obo31b
2o$1031b3o4346b2o377b3o2460b2o429b2o3b2o5bo2b2o33bo$1031bo4350bo376bo
722b2o1618b2o561b4o$1032bo4727bo721b2o800bo817b2o562bo161b2o$7285bo
1368bob2o7bobo5bo154bobo$7283b3o1368b3o5bo8bobo15b2o137bo$8079bobo573b
o3bo2bo2b3o4b2o15b2o$6408bobo1669b2o487b2o88bo$6409b2o1669bo346bobo
139b2o88bo2bo$6409bo1840bo76b2o98b2o20b2o209bobo$717b3o7531bo75b2o99bo
20b2o$719bo7487b2o40b3o$718bo7488b2o$6467b2o1618b2o330bo$6467b2o1618b
2o331b2o$8419b2o322b3o$1074bo4347b3o377bo2871b2o67bo$1073b2o4347bo378b
2o2871b2o68bo$1073bobo4347bo377bobo2750b2o$8554b2o314b2o$8312b2o120b2o
433b2o$8312b2o120b2o158bo276bo$8192b2o398bobo$8192b2o399b2o$6329bobo
120b2o$706bo5623b2o120b2o$706b2o5622bo1840bo$705bobo7464bo486b2o$6635b
o1534b3o486b2o$6635bobo1901b2o$6635b2o1703bo198b2o245bo$5465bo2831b2o
42b2o76b2o323bo40b2o$1115b2o4347b2o377b2o2452b2o41b2o77b2o88bo232bobo
40bobo$1115bobo4346bobo376bobo2331b2o328bobo233b2o$1115bo4727bo2333b2o
329b2o$6437b2o2472b3o$6437b2o2472bo$8912bo$8644b2o$8644b2o$8524b2o$
694b2o6599bo1228b2o$693bobo6600b2o984b2o120b2o277bobo$695bo6599b2o985b
2o120b2o278b2o$8684bo$8386bo$8385bo441b2o$5506b2o2753bo123b3o439bobo$
1157b2o4347bobo376b2o2375b2o563bo$1156b2o4348bo377b2o2375b2o366b2o$
1158bo4727bo2742b2o323bo$8432bo76b2o442b2o$8430bobo76b2o442bobo$8267b
2o120b2o40b2o$8267b2o120b2o3$682b2o$683b2o$682bo7921bobo$8605b2o7b2o$
6342bo2262bo8b2o$6343bo2150b2o373b2o$5548b2o791b3o2150b2o372b2o$1198b
3o4346b2o377b3o2445b2o494bo$1198bo4350bo376bo2447b2o$1199bo4727bo665bo
bo2399b2o$6593b2o2400bobo$6594bo1758bo641bo$8351bobo400bobo$8352b2o
165bobo233b2o$8520b2o77b2o154bo$8520bo78b2o$670b3o7806b2o$672bo7806b2o
$671bo7687b2o$8359b2o2$8910b3o$1241bo4347b3o377bo1338bo1387bo213bo$
1240b2o4347bo378b2o1336bobo1388bo213bo$1240bobo4347bo377bobo1336b2o
1386b3o$8584b2o451b2o$8345bo238b2o450b2o$8343b2o119b2o572bo$8344b2o
118b2o3$659bo$659b2o7781bobo$658bobo7782b2o$8443bo2$8569b2o382bo$5632b
o2936b2o381b2o$1282b2o4347b2o377b2o2437b2o501bobo$1282bobo4346bobo376b
obo2436b2o166bo$1282bo4727bo2607bo$8616b3o459b3o$6353bo2724bo$6354b2o
2723bo$6353b2o2$6552bo$647b2o5902bo2002b2o$646bobo5902b3o2000b2o$648bo
8118bo$8532bo235bo$8533bo232b3o$8531b3o460b2o$5673b2o3319bobo$1324b2o
4347bobo376b2o2940bo$1323b2o4348bo377b2o$1325bo4727bo3067bo$9120b2o$
8539b2o579bobo$8539b2o$7318bobo1386bo$7319b2o1387b2o$7319bo1387b2o$
635b2o$636b2o7664bo$635bo7666bobo$8302b2o2$9036b2o$5715b2o3318b2o$
1365b3o4346b2o377b3o2941bo$1365bo4350bo376bo$1366bo4727bo3067b2o$9162b
obo$9162bo3$8628bo$8629b2o$623b3o8002b2o$625bo5740bo$624bo5739bobo$
6365b2o2$6511bo2565b3o$1408bo4347b3o377bo372b2o2566bo$1407b2o4347bo
378b2o373b2o2566bo$1407bobo4347bo377bobo2640bo$8779b2o423b2o$8778b2o
423b2o$9205bo4$612bo$612b2o$611bobo$7331bo$7332bo1387bo$7330b3o1385bob
o399bo$5799bo2919b2o398b2o$1449b2o4347b2o377b2o2940bobo$1449bobo4346bo
bo376bobo2080bobo$1449bo4727bo2082b2o$8261bo983b3o$9245bo$9246bo4$600b
2o$599bobo$601bo3$8641bo519b2o$5840b2o2797bobo519bobo$1491b2o4347bobo
376b2o2419b2o519bo$1490b2o4348bo377b2o156bobo$1492bo4727bo156b2o2909bo
$6377bo2909b2o$9287bobo$6468bo$6468bobo$6468b2o$8791bo$588b2o8199bobo$
589b2o8199b2o$588bo3$9203b2o$5882b2o3318b2o$1532b3o4346b2o377b3o2941bo
$1532bo4350bo376bo$1533bo4727bo1080bo1986b2o$7343b2o1385bobo596bobo$
7342b2o1387b2o596bo$8731bo$8219bo$8218bo$8218b3o$576b3o$578bo$577bo3$
9244b3o$1575bo4347b3o377bo2940bo$1574b2o4347bo378b2o2941bo$1574bobo
4347bo377bobo$9371b2o$9370b2o$8651bobo718bo$8652b2o$6389bo2262bo$6390b
o$565bo5822b3o$565b2o$564bobo$6426bobo$6426b2o$6427bo2859bo$5966bo
2834bobo482b2o$1616b2o4347b2o377b2o2456b2o482bobo$1616bobo4346bobo376b
obo2455bo$1616bo4727bo$9412b3o$9412bo$9413bo4$553b2o6800bo1387bo$552bo
bo6798bobo1388bo$554bo6799b2o1386b3o2$8178bo$8176b2o1150b2o$6007b2o
2168b2o1149bobo$1658b2o4347bobo376b2o2940bo$1657b2o4348bo377b2o$1659bo
4727bo3067bo$9454b2o$9454bobo5$541b2o$542b2o8120bo$541bo8123bo$8663b3o
2$9370b2o$6049b2o3318b2o$1699b3o4346b2o3321bo$1699bo4350bo$1700bo7795b
2o$9496bobo$8814bo681bo$8815bo$8813b3o3$529b3o$531bo$530bo3$9411b3o$
1742bo4347b3o1272bobo1386bo656bo$1741b2o4347bo1275b2o1387b2o655bo$
1741bobo4347bo1274bo1387b2o$9538b2o$8135bo1401b2o$8135bobo1401bo$8135b
2o3$518bo$518b2o$517bobo3$9454bo$6133bo3319b2o$1783b2o4347b2o3319bobo$
1783bobo4346bobo2540bo$1783bo6892b2o$8675b2o902b3o$9579bo$9580bo4$506b
2o$505bobo$507bo8317bo$8826b2o$8825b2o$9495b2o$6174b2o3319bobo$1825b2o
4347bobo3318bo$1824b2o4348bo$1826bo7795bo$9621b2o$9621bobo$7378bo$
7379bo1387bo$7377b3o1385bobo$8766b2o$494b2o$495b2o7596bobo$494bo7598b
2o$8094bo2$9537b2o$6216b2o3318b2o$1866b3o4346b2o3321bo$1866bo4350bo$
1867bo7795b2o$9663bobo$9663bo3$8688bo$8686bobo$482b3o8202b2o$484bo$
483bo3$9578b3o$1909bo4347b3o3318bo$1908b2o4347bo3321bo$1908bobo4347bo
2579bo$8836bobo866b2o$8837b2o865b2o$9706bo4$471bo$471b2o$470bobo$7389b
o$7390b2o1385bobo$7389b2o1387b2o841bo$6300bo2477bo841b2o$1950b2o4347b
2o1751bo1567bobo$1950bobo4346bobo1749bo$1950bo6100b3o$9746b3o$9746bo$
9747bo4$459b2o$458bobo$460bo3$8698bobo961b2o$6341b2o2356b2o961bobo$
1992b2o4347bobo2355bo962bo$1991b2o4348bo$1993bo7795bo$9788b2o$9788bobo
4$8848bobo$447b2o8400b2o$448b2o8399bo$447bo3$9704b2o$6383b2o3318b2o$
2033b3o4346b2o3321bo$2033bo4350bo$2034bo5367bo1387bo1039b2o$7400bobo
1388bo1038bobo$7401b2o1386b3o1038bo2$8011bo$8009b2o$8010b2o$435b3o$
437bo$436bo3$9745b3o$2076bo4347b3o3318bo$2075b2o4347bo3321bo$2075bobo
4347bo$9872b2o$8711bo1159b2o$8712bo1160bo$8710b3o3$424bo$424b2o$423bob
o3$8861bo926bo$6467bo2394bo924b2o$2117b2o4347b2o2392b3o924bobo$2117bob
o4346bobo$2117bo$9913b3o$9913bo$9914bo4$412b2o6998bobo1386bo$411bobo
6999b2o1387b2o$413bo6999bo1387b2o2$7968bo$7968bobo1858b2o$6508b2o1458b
2o1859bobo$2159b2o4347bobo3318bo$2158b2o4348bo$2160bo7795bo$9955b2o$
9955bobo5$400b2o$401b2o8319bo$400bo8322b2o$8722b2o2$9871b2o$6550b2o
3318b2o$2200b3o4346b2o3321bo$2200bo4350bo$2201bo7795b2o$9997bobo$8872b
o1124bo$8873b2o$8872b2o3$388b3o$390bo$389bo3$7425bo2486b3o$2243bo4347b
3o832bo1387bo1097bo$2242b2o4347bo832b3o1385bobo1098bo$2242bobo4347bo
2220b2o$10039b2o$7926bobo2109b2o$7926b2o2112bo$7927bo3$377bo$377b2o$
376bobo3$9955bo$6634bo3319b2o$2284b2o4347b2o3319bobo$2284bobo4346bobo
2099bo$2284bo6448bobo$8734b2o1344b3o$10080bo$10081bo4$365b2o$364bobo$
366bo8518bo$8883bobo$8884b2o$9996b2o$6675b2o3319bobo$2326b2o4347bobo
3318bo$2325b2o4348bo$2327bo7795bo$10122b2o$10122bobo$7436bo$7437b2o
1385bobo$7436b2o1387b2o$8825bo$353b2o7530bo$354b2o7528bo$353bo7530b3o
3$10038b2o$6717b2o3318b2o$2367b3o4346b2o3321bo$2367bo4350bo$2368bo
7795b2o$10164bobo$10164bo3$8745bobo$8746b2o$341b3o8402bo$343bo$342bo3$
10079b3o$2410bo4347b3o3318bo$2409b2o4347bo3321bo$2409bobo4347bo2135bob
o$8896b2o1308b2o$8896bo1308b2o$10207bo4$330bo$330b2o$329bobo$7449bo
1387bo$7447bobo1388bo$7448b2o1386b3o1283bo$6801bo3319b2o$2451b2o4347b
2o1042bo2276bobo$2451bobo4346bobo1039b2o$2451bo5391b2o$10247b3o$10247b
o$10248bo4$318b2o$317bobo$319bo2$8758bo$8759bo1403b2o$6842b2o1913b3o
1403bobo$2493b2o4347bobo3318bo$2492b2o4348bo$2494bo7795bo$10289b2o$
10289bobo3$8908bo$8909bo$306b2o8599b3o$307b2o$306bo3$10205b2o$6884b2o
3318b2o$2534b3o4346b2o3321bo$2534bo4350bo$2535bo4923bobo1386bo1482b2o$
7460b2o1387b2o1480bobo$7460bo1387b2o1481bo2$7801bo$7801bobo$7801b2o$
294b3o$296bo$295bo3$10246b3o$2577bo4347b3o3318bo$2576b2o4347bo3321bo$
2576bobo4347bo$10373b2o$8769bo1602b2o$8770b2o1602bo$8769b2o3$283bo$
283b2o$282bobo3$8919bo1369bo$6968bo1951b2o1366b2o$2618b2o4347b2o1950b
2o1367bobo$2618bobo4346bobo$2618bo$10414b3o$10414bo$10415bo3$7472bo$
271b2o7200bo1387bo$270bobo7198b3o1385bobo$272bo8587b2o2$7759bobo$7759b
2o2569b2o$7009b2o749bo2569bobo$2660b2o4347bobo3318bo$2659b2o4348bo$
2661bo7795bo$10456b2o$10456bobo5$259b2o$260b2o8520bo$259bo8520bobo$
8781b2o2$10372b2o$7051b2o3318b2o$2701b3o4346b2o3321bo$2701bo4350bo$
2702bo7795b2o$10498bobo$8932bo1565bo$8930bobo$8931b2o3$247b3o$249bo$
248bo3$7483bo2929b3o$2744bo4347b3o389b2o1385bobo1539bo$2743b2o4347bo
390b2o1387b2o1540bo$2743bobo4347bo1778bo$7718bo2821b2o$7717bo2821b2o$
7717b3o2821bo4$236bo$236b2o$235bobo3$10456bo$7135bo3319b2o$2785b2o
4347b2o3319bobo$2785bobo4346bobo1655bobo$2785bo6007b2o$8793bo1787b3o$
10581bo$10582bo4$224b2o$223bobo$225bo8716bobo$8943b2o$8943bo$10497b2o$
7176b2o3319bobo$2827b2o4347bobo3318bo$2826b2o4348bo$2828bo7795bo$
10623b2o$10623bobo$7496bo1387bo$7494bobo1388bo$7495b2o1386b3o2$212b2o
7463bo$213b2o7460b2o$212bo7463b2o3$10539b2o$7218b2o3318b2o$2868b3o
4346b2o3321bo$2868bo4350bo$2869bo7795b2o$10665bobo$10665bo2$8805bo$
8806bo$8804b3o$200b3o$202bo$201bo3$10580b3o$2911bo4347b3o3318bo$2910b
2o4347bo1695bo1625bo$2910bobo4347bo1695bo$8954b3o1750b2o$10706b2o$
10708bo4$189bo$189b2o$188bobo$7506bobo1386bo$7507b2o1387b2o$7507bo
1387b2o1726bo$7302bo3319b2o$2952b2o4347b2o331bo2987bobo$2952bobo4346bo
bo330bobo$2952bo4681b2o$10748b3o$10748bo$10749bo4$177b2o$176bobo$178bo
2$8816bo$8817b2o1845b2o$7343b2o1471b2o1846bobo$2994b2o4347bobo3318bo$
2993b2o4348bo$2995bo7795bo$10790b2o$10790bobo3$8966bo$8967b2o$165b2o
8799b2o$166b2o$165bo3$10706b2o$7385b2o3318b2o$3035b3o4346b2o3321bo$
3035bo4350bo132bo$3036bo4483bo1387bo1923b2o$7518b3o1385bobo1923bobo$
8907b2o1923bo2$7592bobo$7592b2o$7593bo$153b3o$155bo$154bo3$10747b3o$
3078bo4347b3o3318bo$3077b2o4347bo3321bo$3077bobo4347bo$10874b2o$8829bo
2043b2o$8827bobo2045bo$8828b2o3$142bo$142b2o$141bobo3$8979bo1810bo$
7469bo1507bobo1809b2o$3119b2o4347b2o1508b2o1809bobo$3119bobo4346bobo$
3119bo$10915b3o$10915bo$10916bo3$7530bo$130b2o7399b2o1385bobo$129bobo
7398b2o1387b2o$131bo8787bo$7551bo$7550bo$7550b3o3278b2o$7510b2o3319bob
o$3161b2o4347bobo3318bo$3160b2o4348bo$3162bo7795bo$10957b2o$10957bobo
5$118b2o$119b2o8718bobo$118bo8721b2o$8840bo2$10873b2o$10872b2o$3202b3o
7669bo$3202bo$3203bo7795b2o$10999bobo$8989bobo2007bo$8990b2o$8990bo3$
106b3o$108bo$107bo3$8931bo1982b3o$3245bo5686bo1981bo$3244b2o5684b3o
1982bo$3244bobo$11041b2o$11040b2o$11042bo4$95bo$95b2o$94bobo3$10957bo$
10956b2o$3286b2o5564bo2103bobo$3286bobo5564bo$3286bo5564b3o$11082b3o$
11082bo$11083bo4$83b2o$82bobo8917bo$84bo8918bo$9001b3o2$10998b2o$
10998bobo$3328b2o7668bo$3327b2o$3329bo7795bo$11124b2o$11124bobo$8942bo
$8943b2o$8942b2o2$71b2o$72b2o$71bo3$11040b2o$11039b2o$3369b3o7669bo$
3369bo$3370bo7795b2o$11166bobo$11166bo2$8863bo$8864b2o$8863b2o$59b3o$
61bo$60bo3$11081b3o$3412bo7668bo$3411b2o5600bo2068bo$3411bobo5600b2o$
9013b2o2193b2o$11207b2o$11209bo4$48bo$48b2o$47bobo$8955bo$8953bobo$
8954b2o2168bo$11123b2o$3453b2o7668bobo$3453bobo$3453bo$11249b3o$11249b
o$11250bo4$36b2o$35bobo$37bo2$8876bo$8874bobo2288b2o$8875b2o2288bobo$
3495b2o7668bo$3494b2o$3496bo7795bo$11291b2o$11291bobo3$9026bo$9024bobo
$24b2o8999b2o$25b2o$24bo3$11207b2o$11206b2o$3536b3o7669bo$3536bo$3537b
o5427bobo2365b2o$8966b2o2365bobo$8966bo2366bo5$12b3o$14bo$13bo3$11248b
3o$3579bo7668bo$3578b2o7669bo$3578bobo$11375b2o$8886bobo2485b2o$8887b
2o2487bo$8887bo3$bo$b2o$obo3$9036bobo2252bo$9037b2o2251b2o$3620b2o
5415bo2252bobo$3620bobo$3620bo$11416b3o$11416bo$11417bo3$8978bo$8979bo
$8977b3o4$11332b2o$11332bobo$3662b2o7668bo$3661b2o$3663bo7795bo$11458b
2o$11458bobo5$8899bo$8900bo$8898b3o3$11374b2o$11373b2o$3703b3o7669bo$
3703bo$3704bo7795b2o$9049bo2450bobo$9050bo2449bo$9048b3o9$8989bo2425b
3o$3746bo5243b2o2423bo$3745b2o5242b2o2425bo$3745bobo$11542b2o$11541b2o
$11543bo9$11458bo$11457b2o$3787b2o5121bo2546bobo$3787bobo5121b2o$3787b
o5122b2o$11583b3o$11583bo$11584bo5$9060bo$9061b2o$9060b2o2$11499b2o$
11499bobo$3829b2o7668bo$3828b2o$3830bo7795bo$11625b2o$11625bobo$9002bo
2674b3o$9000bobo2673bo3bo$9001b2o2677bo$11675bob2o$11674bo3bo$11675b2o
3b2o$11675b2o2bo$11676b2o2$11541b2o122bo$11540b2o123bo$3870b3o7669bo
122bo10b2o$3870bo7805b2o2bo$3871bo7790bo5b3o7bo2bo$11661bobo4bo11b2o$
11662bo6bo2bo6bo$11670bobo$8923bo2740b3o4b2o41b3o$8921bobo2790bo53bo$
8922b2o2744bo46bo52bo$11668bo99b2o$11668bo$11769b3o$11766b2o$11765bobo
$11582b3o180bob2obo$3913bo7668bo71bo3b2o106b5o$3912b2o5159bo2509bo69bo
bobob2o106bobo$3912bobo5156bobo2556b2o21bo5bo$9072b2o2556bobo21bo3bo$
11614b3o13bo24b3o96b3o$11766b2o$11619bo5b3o33bo96b2o6bobo$11612bo6b3o
6bo31bobo89bo4b2obo6bobo$11611bobo5b2o2bobo2bo32bo89bobo4bobo10b2o$
11612bo9bo5bo123bo6bob2o5b2obo$11616b2o3b2o4bo127bo4bo2bo6bo33b2o$
11616bob3o3b3o19b2o107bo5b3o39b2o$9012bobo2601bob5obo21b2o107bo6bo42bo
52bo$9013b2o2602b2ob2o236b2o$9013bo2743b3o97bobo$11858b2o$3954b2o7647b
2o253b2o$3954bobo7645b4o3bo246b2obo$3954bo7645b4o5bo62b2o183bo$11600bo
3bo3bo62b2o76b2o105bo3bo$11600bob4ob2o64bo74b3o108b3o$11601b2o6bo110bo
22b4o4bo107b3o$11608bo2b2o18b2o71bo14b2o22bob2o3bo$11608bo4bo2b4o11b2o
71bo14bobo21b2obo3bo94bo$11610bo2b5ob2o67bo15bo4bo2b2o30bobob2o95b3o$
11613b2o4b2o65bobo19bo6b2o28b3o100b2o6b2o$11614bo2b2o68b2o12bo6b2o5b2o
29bo4bo93b2ob2o6bo2bo$11606bo7bo85bobo6bobo4bo33bobo89bo3bo3bo6bob2o$
11604b2ob2o5bobo84bo4bo4bobob2o34bo89bobo3b2obo6bo3b2o$8933bobo2668b2o
b2o4b2o91bo4bobob2o125bo4b2o2b2o5bo3bo30b2o$8934b2o2669b3o6b2o89bo5b4o
138b2o3b4o31bobo$8934bo2661b2o107bob5o24b2o106b3o3b2ob2o5bo32bo$3996b
2o7598b2o108b2o28b2o112b2ob2o$3995b2o7619b2o230bo3bo$3997bo7618b2o78bo
bo149bo$11692bo155bo$11691bob2o4bo$11629bobo58bo4bobobo61b2o$11630b2o
57b2o2b4o64bobo$9083bobo2544bo59b2o2bobo64bo73bo2b2o$9084b2o2605bo6bo
134bo7b2o$9084bo2612b4o107b3o21bo9bo$11581b2o115bob2o5bo13b2o85bo$
11581b2o116b4ob3ob2o11b2o70b3o13bo26bo4bo$11703bobo2bo96b2o25bo$11699b
2o3bob2o69bobo25b2o26b2o4b2o94b2o$11695bo8b2o72b2o11bo5b3o4bo3bo29b4o
92b2o$11694bobo6bobo72bo11bobo5b2obobobo2bo27b2o2bobo93bo$4037b3o7653b
2ob2o5b2o86bo4bo6bo4bo32bo$4037bo4987bo2669bo7bo90b6o7bo$4038bo4987bo
2767bo2b3o6bo$9024b3o2767b2o5bobo22b2o$11796bo4bo24b2o$11566b2o138b2o$
11566b2o138b2o$11719bo$11720bo62b3o65bo$11718b3o57b2o3b2obobo61b2o$
11778b2o4bo4bo60bobo$11778b2obob2o4bo$11780b2ob4o2bo108b2o$11788bo2bo
5b2o84bo13b2o77b3o$11787b4obo4b2o12b2o70bo15bo76bo$4080bo7710bo6b2o11b
2o70bo10bo82bo$4079b2o7470b2o138b2o105bo88bo6b2o$4079bobo7469b2o138b2o
92bo6b3o2b2o70bo10bo5bo2bo2b2o2bo$8946bo2837b3o5bo4bo72bo8bobo5bo2bo4b
3o$8947bo2836b3o6bo74b3o9bo7bob2o3b2o$8945b3o2835b2ob2o4bobo89b8ob3o$
11784b3o5b2o89b2o7b3o$11784b3o6bo90bo5b3o$11885b2o3bo2$11796b2o$11642b
o153b2o72bo2bo$11536b2o105bo32b2o195bo$9096bo2439b2o103b3o32b2o131bo
58bo4bo2b2o61b3o77bo$9097bo2712b2o55b2o4bob3o61bo78b2o$9095b3o2711b2o
57bobob2ob3o62bo77bobo$4121b2o7746b2obo2bobo$4121bobo7752b2o2bo4b2o$
4121bo7755bobobo5b2o$11880bo$11888bo$11781b2o99b2o2b2o$11781b2o90b3o5b
2o2bo$11521b2o138b2o209bo3bo5bo$9036bo2484b2o138b2o218bo$9037b2o2833b
2ob2o4b3o$9036b2o2836bo2$11982bo$11981b2o77b2o$11730bo250bobo76bobo$
11731b2o327bo$4163b2o7565b2o34b2o131bo$4162b2o7602b2o129bobo$4164bo
7341b2o138b2o250b2o$11506b2o138b2o6$8957bo$8958b2o$8957b2o2792b2o$
11751b2o270b2o$11491b2o138b2o211bo178bobo76b2o$11491b2o138b2o210bo179b
o77b2o$11843b3o257bo$4204b3o$4204bo7448bo$4205bo7448b2o$9107bo2545b2o
167bo$9108b2o2710bobo$9107b2o2712b2o$11736b2o$11736b2o$11476b2o138b2o$
11476b2o138b2o3$12065b2o$12064b2o77b3o$9049bo3016bo76bo$4247bo4799bobo
3094bo$4246b2o4800b2o$4246bobo7472b2o$11721b2o$11461b2o138b2o$11461b2o
138b2o140bo$11741bobo$11742b2o165bobo$11910b2o$11910bo4$11706b2o398b3o
77bo$11706b2o398bo78b2o$11446b2o138b2o519bo77bobo$4288b2o4680bo2475b2o
138b2o$4288bobo4677bobo$4288bo4680b2o2$11803bo$11801b2o$11802b2o2$
11666bo24b2o$11664bobo24b2o$9120bo2310b2o138b2o92b2o165bobo$9118bobo
2310b2o138b2o260b2o$9119b2o2712bo315bo$12148b2o77b2o$12148bobo76bobo$
12227bo$4330b2o$4329b2o$4331bo$11676b2o$11676b2o$9059bobo2354b2o138b2o
$9060b2o2354b2o138b2o$9060bo4$11753bobo$11754b2o166bo267b2o$11754bo
168bo266bobo76b2o$11921b3o266bo77b2o$12270bo$4371b3o7027b2o138b2o$
4371bo7029b2o138b2o$4372bo4$8980bobo$8981b2o$8981bo2$11760bo$11386b2o
138b2o232bobo$11386b2o138b2o232b2o470b2o$12231b2o77b3o$12233bo76bo$
4414bo7430bo465bo$4413b2o4715bobo2713bo$4413bobo4715b2o2711b3o$9131bo
4$11371b2o138b2o$11371b2o138b2o3$9072bo$9073bo$9071b3o3199b3o77bo$
12273bo78b2o$12274bo77bobo$4455b2o$4455bobo7308bo$4455bo6900b2o138b2o
269bo$11356b2o138b2o267b3o165bo$11934b2o$11933b2o7$8993bo3322bo$8994bo
2346b2o138b2o832b2o77b2o$8992b3o2346b2o138b2o832bobo76bobo$12394bo$
4497b2o$4496b2o7220bobo$4498bo7219b2o$11719bo3$9143bo2712bo$9144bo
2712b2o$9142b3o2181b2o138b2o388b2o$11326b2o138b2o3$12357b2o$12357bobo
76b2o$12357bo77b2o$12437bo$4538b3o$4538bo4544bo$4539bo4544b2o$9083b2o
2226b2o138b2o$11311b2o138b2o3$11777bo$11778b2o$11777b2o167bo$11944bobo
$11945b2o$12399b2o$12398b2o77b3o$11296b2o138b2o962bo76bo$4581bo6714b2o
138b2o1040bo$4580b2o$4580bobo$9004bo$9005b2o$9004b2o2$11677bo$11676bo$
11676b3o$11281b2o138b2o$11281b2o138b2o2$9154bo2714bo570b3o77bo$9155b2o
2710bobo570bo78b2o$9154b2o2712b2o571bo77bobo$4622b2o$4622bobo$4622bo3$
11266b2o138b2o$11266b2o138b2o2$9096bo$9094bobo$9095b2o2$12483bo$12482b
2o77b2o$11790bo691bobo76bobo$11788bobo770bo$4664b2o6585b2o138b2o396b2o
165bobo$4663b2o6586b2o138b2o564b2o$4665bo7291bo7$9017bo$9015bobo$9016b
2o2218b2o138b2o$11236b2o138b2o1146b2o$11636bo887bobo76b2o$11634b2o888b
o77b2o$11635b2o967bo$4705b3o$4705bo$4706bo$9167bo2711bobo$9165bobo
2712b2o$9166b2o2712bo$11221b2o138b2o$11221b2o138b2o5$12566b2o$12565b2o
77b3o$9106bobo3458bo76bo$4748bo4358b2o3536bo$4747b2o4358bo$4747bobo
6456b2o138b2o$11206b2o138b2o2$11800bobo$11801b2o166bo$11801bo168bo$
11968b3o5$11191b2o138b2o1274b3o77bo$11191b2o138b2o1274bo78b2o$12608bo
77bobo$4789b2o4236bobo$4789bobo4236b2o$4789bo4238bo2$11593bo$11593bobo
$11593b2o2$11176b2o138b2o$11176b2o138b2o574bo$9177bobo2713bo$9178b2o
2711b3o$9178bo3471bo$12649b2o77b2o$12649bobo76bobo$12728bo$4831b2o$
4830b2o$4832bo$11161b2o138b2o$9119bo2041b2o138b2o$9120bo$9118b3o4$
11813bo$11814bo$11812b3o165bo710b2o$11981b2o708bobo76b2o$11146b2o138b
2o692b2o709bo77b2o$11146b2o138b2o1483bo$4872b3o$4872bo$4873bo3$9040bo$
9041bo$9039b3o2$11131b2o138b2o$11131b2o138b2o278bobo$11551b2o$11552bo
1180b2o$12732b2o77b3o$12734bo76bo$4915bo4274bo2712bo908bo$4914b2o4275b
o2712b2o$4914bobo4272b3o2711b2o3$11116b2o138b2o$11116b2o138b2o5$9130bo
$9131b2o$9130b2o3642b3o77bo$12774bo78b2o$12775bo77bobo$4956b2o6143b2o
138b2o$4956bobo6142b2o138b2o581bo$4956bo6868b2o$11824b2o167bo$11991bob
o$11992b2o6$11086b2o138b2o$9051bo2034b2o138b2o1589bo$9052b2o3762b2o77b
2o$9051b2o3763bobo76bobo$12895bo$4998b2o6510bo$4997b2o6510bo$4999bo
6509b3o4$9201bo1869b2o138b2o703bo$9202b2o1867b2o138b2o701bobo$9201b2o
2712b2o4$12858b2o$12858bobo76b2o$12858bo77b2o$12938bo$5039b3o$5039bo
4103bo1912b2o138b2o$5040bo4100bobo1912b2o138b2o$9142b2o4$11837bo$
11835bobo$11836b2o165bobo$12004b2o$12004bo$11041b2o138b2o1717b2o$
11041b2o138b2o1716b2o77b3o$12901bo76bo$5082bo7896bo$5081b2o$5081bobo$
9064bo$9062bobo$9063b2o2$11469bo$11026b2o138b2o299b2o$11026b2o138b2o
300b2o4$9214bo2711bobo1012b3o77bo$9212bobo2712b2o1012bo78b2o$9213b2o
2712bo1014bo77bobo$5123b2o$5123bobo$5123bo$11011b2o138b2o$11011b2o138b
2o4$9153bobo$9154b2o$9154bo2$12984bo$12983b2o77b2o$10996b2o138b2o709bo
bo1133bobo76bobo$10996b2o138b2o710b2o166bo1045bo$5165b2o6681bo168bo$
5164b2o6849b3o$5166bo7$9074bobo1904b2o138b2o$9075b2o1904b2o138b2o$
9075bo$13025b2o$11426bo1598bobo76b2o$11426bobo1596bo77b2o$11426b2o
1677bo$5206b3o$5206bo$5207bo6731bo$9224bobo2713bo$9225b2o1739b2o138b2o
830b3o$9225bo1740b2o138b2o7$13067b2o$9166bo3899b2o77b3o$9167bo3900bo
76bo$5249bo3915b3o1783b2o138b2o2053bo$5248b2o5701b2o138b2o$5248bobo2$
11860bo$11861bo$11859b3o165bo$12028b2o$12027b2o3$10936b2o138b2o$10936b
2o138b2o$13108b3o77bo$13108bo78b2o$9087bo4021bo77bobo$5290b2o3796bo$
5290bobo3793b3o$5290bo2$11384bobo$11384b2o$10921b2o138b2o322bo$10921b
2o138b2o2$9237bo2712bo$9238bo2712b2o$9236b3o2711b2o$13151bo$13150b2o
77b2o$13150bobo76bobo$13229bo$5332b2o$5331b2o5573b2o138b2o$5333bo5572b
2o138b2o2$9177bo$9178b2o$9177b2o4$11871bo$11872b2o$10891b2o138b2o838b
2o167bo1151b2o$10891b2o138b2o1005bobo1151bobo76b2o$12039b2o1151bo77b2o
$13272bo$5373b3o$5373bo$5374bo3$9098bo$9099b2o$9098b2o1776b2o138b2o$
10876b2o138b2o$11343bo$11342bo$11342b3o$13234b2o$13233b2o77b3o$13235bo
76bo$5416bo3831bo2714bo1349bo$5415b2o3832b2o2710bobo$5415bobo3830b2o
2712b2o$10861b2o138b2o$10861b2o138b2o7$9190bo$9188bobo$9189b2o4084b3o
77bo$10846b2o138b2o2287bo78b2o$10846b2o138b2o2288bo77bobo$5457b2o$
5457bobo6424bo$5457bo6424bobo$11883b2o165bobo$12051b2o$12051bo4$10831b
2o138b2o$10831b2o138b2o2$9111bo4206bo$9109bobo4205b2o77b2o$9110b2o
4205bobo76bobo$13396bo$5499b2o5801bo$5498b2o5800b2o$5500bo5800b2o2$
10816b2o138b2o$10816b2o138b2o$9261bo2711bobo$9259bobo2712b2o$9260b2o
2712bo4$13359b2o$13359bobo76b2o$13359bo77b2o$10801b2o138b2o2496bo$
5540b3o5258b2o138b2o$5540bo3659bobo$5541bo3659b2o$9201bo4$11894bobo$
11895b2o166bo$11895bo168bo$10786b2o138b2o1134b3o$10786b2o138b2o$13401b
2o$13400b2o77b3o$13402bo76bo$5583bo7896bo$5582b2o$5582bobo$9121bobo$
9122b2o$9122bo$10771b2o138b2o$10771b2o138b2o346bo$11259bobo$11259b2o3$
11986bo$9271bobo2713bo1454b3o77bo$9272b2o2711b3o1454bo78b2o$9272bo
4170bo77bobo$5624b2o$5624bobo5129b2o138b2o$5624bo5131b2o138b2o5$9213bo
$9214bo$9212b3o3$10741b2o138b2o2602bo$10741b2o138b2o1024bo1576b2o77b2o
$11908bo1575bobo76bobo$11906b3o165bo1488bo$5666b2o6407b2o$5665b2o6407b
2o$5667bo5$10726b2o138b2o$9134bo1591b2o138b2o$9135bo$9133b3o2$13526b2o
$11217bobo2306bobo76b2o$11217b2o2307bo77b2o$11218bo2387bo$5707b3o$
5707bo$5708bo3575bo1426b2o138b2o1144bo$9285bo1425b2o138b2o1145b2o$
9283b3o2711b2o8$13568b2o$9224bo1471b2o138b2o2729b2o77b3o$9225b2o1469b
2o138b2o2731bo76bo$5750bo3473b2o4421bo$5749b2o$5749bobo2$11918bo$
11919b2o$11918b2o167bo$12085bobo$12086b2o$10681b2o138b2o$10681b2o138b
2o3$13609b3o77bo$13609bo78b2o$9145bo4464bo77bobo$5791b2o3353b2o$5791bo
bo3351b2o$5791bo$11176bo$10666b2o138b2o367bo$10666b2o138b2o367b3o4$
9295bo2714bo$9296b2o2710bobo$9295b2o2712b2o$13652bo$13651b2o77b2o$
13651bobo76bobo$10651b2o138b2o2937bo$5833b2o4816b2o138b2o$5832b2o$
5834bo2$9237bo$9235bobo$9236b2o4$10636b2o138b2o1153bo$10636b2o138b2o
1151bobo$11930b2o165bobo1593b2o$12098b2o1593bobo76b2o$12098bo1594bo77b
2o$13773bo$5874b3o$5874bo$5875bo3$9158bo1462b2o138b2o$9156bobo1462b2o
138b2o$9157b2o2$11135bo$11133b2o$11134b2o$13735b2o$13734b2o77b3o$
13736bo76bo$5917bo3390bo2711bobo1791bo$5916b2o3388bobo1297b2o138b2o
1273b2o$5916bobo3388b2o1297b2o138b2o1273bo9$9247bobo$9248b2o1341b2o
138b2o$9248bo1342b2o138b2o3043b3o77bo$13776bo78b2o$13777bo77bobo$5958b
2o$5958bobo5980bobo$5958bo5983b2o166bo$11942bo168bo$12109b3o3$10576b2o
138b2o$10576b2o138b2o4$9168bobo4648bo$9169b2o4647b2o77b2o$9169bo4648bo
bo76bobo$13897bo$6000b2o5090bo$5999b2o5091bobo$6001bo4559b2o138b2o389b
2o$10561b2o138b2o2$12033bo$9318bobo2713bo$9319b2o2711b3o$9319bo4$
13860b2o$10546b2o138b2o3172bobo76b2o$10546b2o138b2o3172bo77b2o$13940bo
$6041b3o3216bo$6041bo3219bo$6042bo3216b3o4$11954bo$11955bo$10531b2o
138b2o1280b3o165bo$10531b2o138b2o1449b2o$12121b2o2$13902b2o$13901b2o
77b3o$13903bo76bo$6084bo7896bo$6083b2o$6083bobo3095bo$9182bo$9180b3o
1333b2o138b2o$10516b2o138b2o2$11050bobo$11050b2o$11051bo3$9331bo2712bo
$9332bo2712b2o1896b3o77bo$9330b3o2711b2o1897bo78b2o$10501b2o138b2o
3301bo77bobo$6125b2o4374b2o138b2o$6125bobo$6125bo5$9271bo$9272b2o$
9271b2o$10486b2o138b2o$10486b2o138b2o$13986bo$11965bo2019b2o77b2o$
11966b2o2017bobo76bobo$11965b2o167bo1929bo$6167b2o5963bobo$6166b2o
5965b2o$6168bo3$10471b2o138b2o$10471b2o138b2o2$9192bo$9193b2o$9192b2o
2$11009bo3017b2o$11008bo3018bobo76b2o$11008b3o3016bo77b2o$14107bo$
6208b3o4245b2o138b2o$6208bo4247b2o138b2o$6209bo3132bo2714bo$9343b2o
2710bobo$9342b2o2712b2o7$10441b2o138b2o$10441b2o138b2o3486b2o$9284bo
4783b2o77b3o$9282bobo4785bo76bo$6251bo3031b2o4863bo$6250b2o$6250bobo2$
11978bo$11976bobo$11977b2o165bobo$10426b2o138b2o1577b2o$10426b2o138b2o
1577bo5$14110b3o77bo$14110bo78b2o$9205bo4905bo77bobo$6292b2o2909bobo$
6292bobo2909b2o$6292bo4118b2o138b2o$10411b2o138b2o415bo$10966b2o$
10967b2o4$9355bo2711bobo$9353bobo2712b2o$9354b2o2712bo$14153bo$10396b
2o138b2o3614b2o77b2o$10396b2o138b2o3614bobo76bobo$14231bo$6334b2o$
6333b2o$6335bo2$9294bobo$9295b2o$9295bo2$10381b2o138b2o$10381b2o138b2o
$11988bobo$11989b2o166bo$11989bo168bo2035b2o$12156b3o2035bobo76b2o$
14194bo77b2o$14274bo$6375b3o$6375bo$6376bo$10366b2o138b2o$10366b2o138b
2o$9215bobo$9216b2o$9216bo2$10925bo$10925bobo$10925b2o$14236b2o$14235b
2o77b3o$10351b2o138b2o1587bo2156bo76bo$6418bo2946bobo983b2o138b2o1588b
o2233bo$6417b2o2947b2o2711b3o$6417bobo2946bo8$9307bo1028b2o138b2o$
9308bo1027b2o138b2o$9306b3o$14277b3o77bo$14277bo78b2o$14278bo77bobo$
6459b2o5540bo$6459bobo5540bo$6459bo5540b3o165bo$12169b2o$12168b2o$
10321b2o138b2o$10321b2o138b2o5$9228bo$9229bo5090bo$9227b3o5089b2o77b2o
$14319bobo76bobo$14398bo$6501b2o3803b2o138b2o435bobo$6500b2o3804b2o
138b2o435b2o$6502bo4381bo3$9378bo2712bo$9379bo2712b2o$9377b3o2711b2o4$
10291b2o138b2o$10291b2o138b2o3928b2o$14361bobo76b2o$14361bo77b2o$
14441bo$6542b3o2773bo$6542bo2776b2o$6543bo2774b2o4$10276b2o138b2o1594b
o$10276b2o138b2o1595b2o$12012b2o167bo$12179bobo$12180b2o2$14403b2o$
14402b2o77b3o$14404bo76bo$6585bo7896bo$6584b2o$6584bobo2652bo1021b2o
138b2o$9240b2o1019b2o138b2o$9239b2o2$10842bo$10841bo$10841b3o4$9389bo
2714bo$9390b2o854b2o138b2o1714bobo2339b3o77bo$9389b2o855b2o138b2o1715b
2o2339bo78b2o$14445bo77bobo$6626b2o$6626bobo$6626bo5$9331bo$9329bobo
899b2o138b2o$9330b2o899b2o138b2o3$14487bo$12025bo2460b2o77b2o$12023bob
o2460bobo76bobo$12024b2o165bobo2371bo$6668b2o5522b2o$6667b2o5523bo$
6669bo$10216b2o138b2o$10216b2o138b2o4$9252bo$9250bobo$9251b2o2$10801bo
3726b2o$10799b2o3727bobo76b2o$10201b2o138b2o457b2o3726bo77b2o$10201b2o
138b2o4265bo$6709b3o$6709bo$6710bo2691bo2711bobo$9400bobo2712b2o$9401b
2o2712bo5$10186b2o138b2o$10186b2o138b2o2$14570b2o$9341bobo5225b2o77b3o
$9342b2o5227bo76bo$6752bo2589bo5306bo$6751b2o$6751bobo2$12035bobo$
10171b2o138b2o1723b2o166bo$10171b2o138b2o1723bo168bo$12203b3o6$14611b
3o77bo$14611bo78b2o$9262bobo5347bo77bobo$6793b2o2468b2o891b2o138b2o$
6793bobo2467bo892b2o138b2o$6793bo$10758bo$10758bobo$10758b2o3$12127bo$
9412bobo2713bo$9413b2o2711b3o$9413bo727b2o138b2o$10141b2o138b2o4371bo$
14653b2o77b2o$14653bobo76bobo$14732bo$6835b2o$6834b2o$6836bo$9354bo$
9355bo$9353b3o$10126b2o138b2o$10126b2o138b2o2$12048bo$12049bo$12047b3o
165bo$12216b2o2477b2o$12215b2o2478bobo76b2o$14695bo77b2o$14775bo$6876b
3o$6876bo3234b2o138b2o$6877bo3233b2o138b2o2$9275bo$9276bo$9274b3o3$
10716bobo$10716b2o$10717bo$10096b2o138b2o4499b2o$10096b2o138b2o4498b2o
77b3o$9425bo2712bo2599bo76bo$6919bo2506bo2712b2o2675bo$6918b2o2504b3o
2711b2o$6918bobo6$10081b2o138b2o$10081b2o138b2o$9365bo$9366b2o$9365b2o
$14778b3o77bo$14778bo78b2o$14779bo77bobo$6960b2o5097bo$6960bobo5097b2o
$6960bo5098b2o167bo$10066b2o138b2o2018bobo$10066b2o138b2o2019b2o7$
9286bo$9287b2o5532bo$9286b2o5532b2o77b2o$10051b2o138b2o4627bobo76bobo$
10051b2o138b2o482bo4223bo$7002b2o3670bo$7001b2o3671b3o$7003bo3$9436bo
2714bo$9437b2o2710bobo$9436b2o2712b2o2$10036b2o138b2o$10036b2o138b2o2$
14862b2o$14862bobo76b2o$14862bo77b2o$14942bo$7043b3o2332bo$7043bo2332b
obo$7044bo2332b2o2$10021b2o138b2o$10021b2o138b2o$12072bo$12070bobo$
12071b2o165bobo$12239b2o$12239bo2$14904b2o$14903b2o77b3o$14905bo76bo$
7086bo2919b2o138b2o4835bo$7085b2o2919b2o138b2o$7085bobo2211bo$9297bobo
$9298b2o2$10634bo$10632b2o$10633b2o3$9991b2o138b2o$9449bo541b2o138b2o
2028bobo$9447bobo2712b2o2781b3o77bo$9448b2o2712bo2782bo78b2o$14946bo
77bobo$7127b2o$7127bobo$7127bo4$9976b2o138b2o$9388bobo585b2o138b2o$
9389b2o$9389bo3$14988bo$12082bobo2902b2o77b2o$12083b2o166bo2735bobo76b
obo$12083bo168bo2813bo$7169b2o5079b3o$7168b2o2791b2o138b2o$7170bo2790b
2o138b2o6$9309bobo$9310b2o$9310bo2$9946b2o138b2o503bo4437b2o$9946b2o
138b2o503bobo4435bobo76b2o$10591b2o4436bo77b2o$15109bo$7210b3o$7210bo
4963bo$7211bo2247bobo2713bo$9460b2o2711b3o$9460bo3$9931b2o138b2o$9931b
2o138b2o4$9401bo5669b2o$9402bo5667b2o77b3o$9400b3o5669bo76bo$7253bo
7896bo$7252b2o$7252bobo$9916b2o138b2o2037bo$9916b2o138b2o2038bo$12094b
3o165bo$12263b2o$12262b2o6$15112b3o77bo$9322bo578b2o138b2o5069bo78b2o$
9323bo577b2o138b2o5070bo77bobo$7294b2o2025b3o$7294bobo$7294bo$10549bob
o$10549b2o$10550bo3$9472bo2712bo$9473bo412b2o138b2o2158b2o$9471b3o412b
2o138b2o2157b2o2$15155bo$15154b2o77b2o$15154bobo76bobo$15233bo$7336b2o
$7335b2o$7337bo$9412bo$9413b2o456b2o138b2o$9412b2o457b2o138b2o4$12106b
o$12107b2o$12106b2o167bo$12273bobo2920b2o$12274b2o2920bobo76b2o$15196b
o77b2o$9856b2o138b2o5278bo$7377b3o2476b2o138b2o$7377bo$7378bo2$9333bo$
9334b2o$9333b2o2$10508bo$10507bo$9841b2o138b2o524b3o$9841b2o138b2o$
15238b2o$15237b2o77b3o$9483bo2714bo3040bo76bo$7420bo2063b2o2710bobo
3118bo$7419b2o2062b2o2712b2o$7419bobo4$9826b2o138b2o$9826b2o138b2o3$
9425bo$9423bobo$9424b2o$15279b3o77bo$15279bo78b2o$15280bo77bobo$7461b
2o4656bo$7461bobo2347b2o138b2o2164bobo$7461bo2349b2o138b2o2165b2o165bo
bo$12286b2o$12286bo7$9346bo$9344bobo449b2o138b2o5384bo$9345b2o449b2o
138b2o5383b2o77b2o$15321bobo76bobo$10467bo4932bo$7503b2o2960b2o$7502b
2o2962b2o$7504bo3$9496bo2711bobo$9494bobo2712b2o$9495b2o284b2o138b2o
2286bo$9781b2o138b2o4$15363b2o$15363bobo76b2o$15363bo77b2o$15443bo$
7544b3o1888bobo$7544bo1891b2o$7545bo1890bo329b2o138b2o$9766b2o138b2o3$
12129bobo$12130b2o166bo$12130bo168bo$12297b3o3$15405b2o$9751b2o138b2o
5511b2o77b3o$9751b2o138b2o5513bo76bo$7587bo7896bo$7586b2o$7586bobo
1767bobo$9357b2o$9357bo2$10424bo$10424bobo$10424b2o$9736b2o138b2o$
9736b2o138b2o$12221bo$9506bobo2713bo$9507b2o2711b3o3223b3o77bo$9507bo
5938bo78b2o$15447bo77bobo$7628b2o$7628bobo$7628bo2$9721b2o138b2o$9721b
2o138b2o$9448bo$9449bo$9447b3o4$12142bo3346bo$12143bo3344b2o77b2o$
12141b3o165bo3178bobo76bobo$9706b2o138b2o2462b2o3255bo$7670b2o2034b2o
138b2o2461b2o$7669b2o$7671bo5$9369bo$9370bo$9368b3o$9691b2o138b2o$
9691b2o138b2o$10382bobo5145b2o$10382b2o5146bobo76b2o$10383bo5146bo77b
2o$15610bo$7711b3o$7711bo1807bo2712bo$7712bo1807bo2712b2o$9518b3o2711b
2o2$9676b2o138b2o$9676b2o138b2o6$9459bo6112b2o$9460b2o6109b2o77b3o$
9459b2o6112bo76bo$7754bo7896bo$7753b2o1906b2o138b2o$7753bobo1905b2o
138b2o$12153bo$12154b2o$12153b2o167bo$12320bobo$12321b2o5$9646b2o138b
2o$9646b2o138b2o5825b3o77bo$9380bo6232bo78b2o$9381b2o6231bo77bobo$
7795b2o1583b2o$7795bobo$7795bo2545bo$10340bo$10340b3o3$9631b2o138b2o$
9530bo100b2o138b2o2472bo$9531b2o2710bobo$9530b2o2712b2o2$15656bo$
15655b2o77b2o$15655bobo76bobo$15734bo$7837b2o$7836b2o$7838bo1777b2o
138b2o$9472bo143b2o138b2o$9470bobo$9471b2o4$12166bo$12164bobo$12165b2o
165bobo$12333b2o3362b2o$9601b2o138b2o2590bo3363bobo76b2o$9601b2o138b2o
5954bo77b2o$15777bo$7878b3o$7878bo$7879bo2$9393bo$9391bobo$9392b2o2$
9586b2o138b2o572bo$9586b2o138b2o570b2o$10299b2o2$15739b2o$15738b2o77b
3o$9543bo2711bobo3482bo76bo$7921bo1619bobo2712b2o3560bo$7920b2o1620b2o
2712bo$7920bobo2$9571b2o138b2o$9571b2o138b2o5$9482bobo$9483b2o$9483bo$
15780b3o77bo$15780bo78b2o$9556b2o138b2o6083bo77bobo$7962b2o1592b2o138b
2o2478bobo$7962bobo4212b2o166bo$7962bo4214bo168bo$12344b3o7$9681b2o$
9403bobo275b2o$9404b2o6417bo$9404bo6417b2o77b2o$15822bobo76bobo$10257b
o5643bo$8004b2o2251bobo$8003b2o2252b2o$8005bo2$12268bo$9666b2o2601bo$
9666b2o2599b3o6$15864b2o$15864bobo76b2o$15864bo77b2o$9495bo6448bo$
8045b3o1448bo154b2o$8045bo1448b3o154b2o$8046bo3$12189bo$12190bo$12188b
3o165bo$12357b2o$12356b2o2$9636b2o$9636b2o6268b2o$15905b2o77b3o$15907b
o76bo$8088bo7896bo$8087b2o1327bo$8087bobo1327bo$9415b3o3$10215bobo$
9621b2o592b2o$9621b2o593bo3$12279bo$12280b2o$12279b2o3666b3o77bo$
15947bo78b2o$15948bo77bobo$8129b2o$8129bobo$8129bo1476b2o$9606b2o3$
9506bo$9507b2o$9506b2o4$12200bo3789bo$9591b2o2608b2o3786b2o77b2o$9591b
2o2607b2o167bo3619bobo76bobo$12367bobo3698bo$8171b2o4195b2o$8170b2o$
8172bo5$9427bo$9428b2o146b2o$9427b2o147b2o2$10174bo$10173bo5857b2o$
10173b3o5855bobo76b2o$16031bo77b2o$16111bo$8212b3o$8212bo4079bo$8213bo
4076bobo$9561b2o2728b2o$9561b2o8$9519bo6553b2o$9517bobo6552b2o77b3o$
9518b2o26b2o6526bo76bo$8255bo1290b2o6604bo$8254b2o$8254bobo$12213bo$
12211bobo$12212b2o165bobo$12380b2o$12380bo3$9531b2o$9531b2o2$16114b3o
77bo$9440bo6673bo78b2o$9438bobo6674bo77bobo$8296b2o1141b2o$8296bobo$
8296bo1836bo$10131b2o$10132b2o4$12302bobo$12303b2o$12303bo2$16157bo$
16156b2o77b2o$16156bobo76bobo$16235bo$8338b2o$8337b2o$8339bo7$12223bob
o$12224b2o166bo$12224bo168bo$12391b3o3804b2o$16198bobo76b2o$16198bo77b
2o$16278bo$8379b3o$8379bo$8380bo2$9450bobo$9451b2o$9451bo2$10090bo$
10090bobo$10090b2o2$16240b2o$12315bo3923b2o77b3o$12316bo3924bo76bo$
8422bo3891b3o4002bo$8421b2o$8421bobo11$16281b3o77bo$16281bo78b2o$
12236bo4045bo77bobo$8463b2o3772bo$8463bobo3769b3o165bo$8463bo3940b2o$
12403b2o7$9463bo$9464bo$9462b3o6859bo$16323b2o77b2o$16323bobo76bobo$
10048bobo6351bo$8505b2o1541b2o$8504b2o1543bo$8506bo2$12326bo$12327b2o$
12326b2o6$16365b2o$16365bobo76b2o$16365bo77b2o$16445bo$8546b3o$8546bo$
8547bo3$12247bo$12248b2o$12247b2o167bo$12414bobo$12415b2o3$16407b2o$
16406b2o77b3o$16408bo76bo$8589bo7896bo$8588b2o884bo$8588bobo884b2o$
9474b2o2$10007bo$10006bo$10006b3o4$12339bo$12337bobo$12338b2o4108b3o
77bo$16448bo78b2o$16449bo77bobo$8630b2o$8630bobo$8630bo10$12260bo4230b
o$12258bobo4229b2o77b2o$12259b2o165bobo4061bobo76bobo$12427b2o4140bo$
8672b2o3753bo$8671b2o$8673bo5$9487bo$9485bobo$9486b2o2$9966bo$9964b2o
6566b2o$9965b2o6565bobo76b2o$16532bo77b2o$16612bo$8713b3o$8713bo3635bo
bo$8714bo3635b2o$12350bo9$16574b2o$16573b2o77b3o$16575bo76bo$8756bo
7896bo$8755b2o$8755bobo$12270bobo$12271b2o166bo$12271bo168bo$12438b3o
7$16615b3o77bo$9497bobo7115bo78b2o$9498b2o7116bo77bobo$8797b2o699bo$
8797bobo$8797bo1125bo$9923bobo$9923b2o3$12362bo$12363bo$12361b3o3$
16658bo$16657b2o77b2o$16657bobo76bobo$16736bo$8839b2o$8838b2o$8840bo6$
12283bo$12284bo$12282b3o165bo$12451b2o$12450b2o4247b2o$16699bobo76b2o$
16699bo77b2o$16779bo$8880b3o$8880bo$8881bo$9510bo$9511bo$9509b3o3$
9881bobo$9881b2o$9882bo2$16741b2o$12373bo4366b2o77b3o$12374b2o4366bo
76bo$8923bo3449b2o4445bo$8922b2o$8922bobo11$16782b3o77bo$16782bo78b2o$
12294bo4488bo77bobo$8964b2o3329b2o$8964bobo3327b2o167bo$8964bo3496bobo
$12462b2o7$9521bo$9522b2o$9521b2o7302bo$16824b2o77b2o$9840bo6983bobo
76bobo$9839bo7063bo$9006b2o831b3o$9005b2o$9007bo2$12386bo$12384bobo$
12385b2o6$16866b2o$16866bobo76b2o$16866bo77b2o$16946bo$9047b3o$9047bo$
9048bo3$12307bo$12305bobo$12306b2o165bobo$12474b2o$12474bo3$16908b2o$
16907b2o77b3o$16909bo76bo$9090bo7896bo$9089b2o443bo$9089bobo440bobo$
9533b2o2$9799bo$9797b2o$9798b2o4$12396bobo$12397b2o$12397bo4551b3o77bo
$16949bo78b2o$16950bo77bobo$9131b2o$9131bobo$9131bo10$12317bobo4672bo$
12318b2o166bo4504b2o77b2o$12318bo168bo4503bobo76bobo$12485b3o4582bo$
9173b2o$9172b2o$9174bo5$9544bobo$9545b2o$9545bo2$9756bo$9756bobo7274b
2o$9756b2o7275bobo76b2o$17033bo77b2o$17113bo$9214b3o3192bo$9214bo3195b
o$9215bo3192b3o10$17075b2o$17074b2o77b3o$17076bo76bo$9257bo7896bo$
9256b2o$9256bobo3071bo$12331bo$12329b3o165bo$12498b2o$12497b2o7$9557bo
7558b3o77bo$9558bo7557bo78b2o$9556b3o7558bo77bobo$9298b2o$9298bobo$
9298bo415bobo$9714b2o$9715bo3$12420bo$12421b2o$12420b2o3$17159bo$
17158b2o77b2o$17158bobo76bobo$17237bo$9340b2o$9339b2o$9341bo6$12341bo$
12342b2o$12341b2o167bo$12508bobo$12509b2o4689b2o$17200bobo76b2o$17200b
o77b2o$17280bo$9381b3o$9381bo$9382bo$9568bo$9569b2o$9568b2o2$9673bo$
9672bo$9672b3o3$17242b2o$12433bo4807b2o77b3o$12431bobo4809bo76bo$9424b
o3007b2o4887bo$9423b2o$9423bobo11$17283b3o77bo$17283bo78b2o$12354bo
4929bo77bobo$9465b2o2885bobo$9465bobo2885b2o165bobo$9465bo3055b2o$
12521bo7$9581bo$9579bobo$9580b2o7744bo$17325b2o77b2o$9632bo7692bobo76b
obo$9630b2o7772bo$9507b2o122b2o$9506b2o$9508bo2$12443bobo$12444b2o$
12444bo6$17367b2o$17367bobo$17367bo2$9548b3o$9548bo$9549bo3$12364bobo$
12365b2o166bo$12365bo168bo$12532b3o4$17409b2o$17408b2o$17410bo$9591bo$
9590b2o$9590bobo4$9589b2o4$12456bo$12457bo$12455b3o15$12377bo$12378bo$
12376b3o165bo$12545b2o$12544b2o17$12467bo$12468b2o$12467b2o15$12388bo$
12389b2o$12388b2o167bo$12555bobo$12556b2o17$12480bo$12478bobo$12479b2o
15$12401bo$12399bobo$12400b2o165bobo$12568b2o$12568bo!
In order to pass the salvo through the spine, we do actually have to adjust the spacing between spine gliders somewhat. I decided to just make a spine-builder script that can be more easily adjusted to deal with any spacing:

Code: Select all

#ShipBuilder.py

import golly as g
from glife import *
import math
import os

name = "ShipBuilder"

def mod(x,m):
    return ((x % m) + m) % m

trailDX = -1
trailDY = -1
trailDT = 4

trailStartState = g.parse("b2o$2o$2bo!",0,0)

climberDX = 15
climberDY = -11
climberDT = 107

climberGliderPrunedTime = 62
climberStartStates = [[g.parse("18b2o$17b2o$4bo14bo$4bo11b2o$4bo10b2o$9b2o3bobo$bo6bob2o2bo$obo6b2obob2o$bo7b2ob2ob3obo$9bo2bo4b2o$4bo6bo$3bo4b3o$4bo2b2o!",-17,0),climberDT - climberGliderPrunedTime],
                      [g.parse("17bobo$16bo2bo$16bo3bo$16bo2bo2$13bo4bo$12bobo2b2o$17b2o2bo$12bo2bob2ob3o$12b4ob2o2b2o$12bo2b2o4b2o$13bobo5b2o$14b2o$14b3obo3bo$22bo$10bo9b2o$7b2ob2o$7b2o$8bo3b2obo$5b2o2bo2bo$5b2o3bobo3b2o$6bo8b2o$14b3o$2b3o8b2o5bo$2o2bo7bobo6bo$b6o5b3o4b3o$2bo2bo2bo$5bo2bo$8bo!",-17,-13),climberGliderPrunedTime]]


trailShiftX = -6
trailShiftY = 12
trailShiftT = 1


#Odd Indices:
# Spacing 44: Cheap blockmaker
# Spacing 50: Double blockmaker
# Spacing 52: SW rake
# Spacing 53+: No extra output
#Even indices:
# Spacing 0: Block deleter (can release SE gliders)
# Spacing 1+: No extra output

#Ex: [1,52,138,53] is a simple NW rake

def NWRakePairSpacings(extraSize,intermediatePairs):
    if intermediatePairs == 0: #This is a bit finnicky due to the extra required specification at the beginning
        return [0,53,12+16*extraSize,52,138+151*extraSize,53]
    elif intermediatePairs == 1:
        return [0,52,1,123+151*extraSize,1,53]
    elif intermediatePairs == 2:
        return [4,52,0,53,1,57+151*extraSize,1,53]
    else:
        return [4,52] + [1,53]*(intermediatePairs-2) + [0,141+84*(intermediatePairs-3)+151*extraSize,1,53,1,53]

def makePairSpacings():
    return NWRakePairSpacings(11,4) + NWRakePairSpacings(-5,12) + NWRakePairSpacings(2,3) + NWRakePairSpacings(2,1) + [1,53]*7 + NWRakePairSpacings(0,3) + [1,53]*4 + NWRakePairSpacings(0,1) + [1,53]*5 + [1,44,0,53,4,52,0,53,0,59,0,53]

#Edgy NE Gliders with correct spacing for LWSS turner salvo insertion
#NWRakePairSpacings(11,4) + NWRakePairSpacings(-5,12) + NWRakePairSpacings(2,3) + NWRakePairSpacings(2,1) + [1,53]*7 + NWRakePairSpacings(0,3) + [1,53]*4 + NWRakePairSpacings(0,1) + [1,53]*5 + [1,44,0,53,4,52,0,53,0,59,0,53]

#Triple kickback NW rake
#n=118
#m=66
#NWRakePairSpacings(-15,29) + [1,53]*(118-n) + [10,52,1,53,1,53,114+84*n-151*m,53] + [1,53]*n + [0,52,1,53]

def makeClimbersData():
    #What we want: Make a list of climber pairs with spacings
    #Use that to automatically construct our climber data

    output = [[],[]]
    pairSpacingsList = [0] + makePairSpacings()
    for index in range(len(pairSpacingsList) - 1):
        output[index % 2].append(pairSpacingsList[index] + pairSpacingsList[index + 1])
            
    return output


def main():
    #Create trail glider states
    trailStates = [trailStartState]
    for t in range(trailDT - 1):
        trailStates.append(g.evolve(trailStates[t], 1))

    climberStates = []
    for climberStartData in climberStartStates:
        climberStates.append(climberStartData[0])
        for t in range(climberStartData[1] - 1):
            climberStates.append(g.evolve(climberStates[len(climberStates)-1], 1))

    trailHeads = [[0,0,0],[44,-8,28]]

    climbersData = makeClimbersData()

    g.new(name)
    for trailIndex in range(len(trailHeads)):
        trailHeadX = trailHeads[trailIndex][0]
        trailHeadY = trailHeads[trailIndex][1]
        trailHeadT = trailHeads[trailIndex][2]
        
        #Initial trail segment
        for i in range(2 ** 12):
            intermediateTrailHeadT = trailHeadT - i * climberDT
            intermediateTrailHeadX = trailHeadX + i * climberDX
            intermediateTrailHeadY = trailHeadY + i * climberDY
            g.putcells(trailStates[mod(intermediateTrailHeadT, trailDT)],
                intermediateTrailHeadX + (intermediateTrailHeadT // trailDT) * trailDX,
                intermediateTrailHeadY + (intermediateTrailHeadT // trailDT) * trailDY)
            
        for climberSpacing in climbersData[trailIndex]:
            newTrailHeadX = trailHeadX + climberSpacing * trailDX
            newTrailHeadY = trailHeadY + climberSpacing * trailDY
            newTrailHeadT = trailHeadT - climberSpacing * trailDT

            #add needed intermediate trail gliders
            for i in range(-((trailHeadT+trailShiftT + climberGliderPrunedTime) // climberDT)+1, -(newTrailHeadT // climberDT)):
                intermediateTrailHeadT = trailHeadT + i * climberDT
                intermediateTrailHeadX = trailHeadX - i * climberDX
                intermediateTrailHeadY = trailHeadY - i * climberDY
                g.putcells(trailStates[mod(intermediateTrailHeadT, trailDT)],
                            intermediateTrailHeadX + (intermediateTrailHeadT // trailDT) * trailDX,
                            intermediateTrailHeadY + (intermediateTrailHeadT // trailDT) * trailDY)

            #paste in the new climber
            g.putcells(climberStates[mod(newTrailHeadT,climberDT)],
                       newTrailHeadX + (newTrailHeadT // climberDT) * climberDX,
                       newTrailHeadY + (newTrailHeadT // climberDT) * climberDY)

            trailHeadX = newTrailHeadX + trailShiftX
            trailHeadY = newTrailHeadY + trailShiftY
            trailHeadT = newTrailHeadT - trailShiftT

main()
This also allows more versatile spacing of the climber pairs than the previous script.

Actually getting the second salvo glider there will be comparatively easy, but doing this in a space-efficient manner is likely to be much harder. (As a very rough estimate, I'd expect simply adding a block/HF puffer to the front of the rake and using a slow salvo to turn that into a NE glider to require a ~20x increase in bounding box size.) For this reason, it's very likely better to just create a second glider pair track to the south and use that for the construction (this is vaguely reminiscent of the reasoning behind waterbear's track resets). We probably only need to do this once: Even if we need more than one forward LWSS (seems likely) the track should be reusable.

The difficulty with this is that duplicating the glider pair track isn't doable with just the standard kickback-based NW rakes, because the crawler preserves the lane (of gliders of the same phase) mod 8, but the gliders in the pair track are in the same lane but have different phases. I experimented with using 3 kickbacks to bounce gliders into a more suitable lane, but the amount of track shifting via crawlers required makes this approach quite large: Each crawler added adjusts the relative positions mod 167, and we end up being pretty unlucky and needing like 148 or so adjustments. (The code to generate the pair spacings for that is in a comment in the script.) Conceivably you could do something else useful with the adjustment crawlers, but that feels more difficult to work with than it's worth. So using more slow salvos to produce gliders of the correct lane/phase is probably the way to go. (Producing NW gliders is, for clearance reasons, a lot easier than producing NE gliders.)

Actually thinking about it more it's probably a lot cheaper to just look for a suitable 2g+block collision a la the original NE rake, since the clearance requirements are much less strict.
Nora Brown
User avatar
glider_rider
Posts: 197
Joined: February 20th, 2013, 5:41 pm
Location: CA

Re: (15,11)c/107 caterpillar thread

Post by glider_rider »

A minor setback: The LWSS turner salvo doesn't actually work at 1x, thanks to the extra blocks it produces:

Code: Select all

x = 39, y = 56, rule = B3/S23
17b2o$18b2o$17bo2$12b3o$14bo$13bo2$22bo$21b3o$20b2obo$20b3o$21b2o4$5b
3o$7bo$6bo$bo$b2o$obo30$36b3o$35bo2bo$38bo$38bo$35bobo!
Of course you can add a glider to clean up the salvo, but then you can no longer pass it through a spine of gliders, meaning we'd need to destroy a spine (expensive) in order to create these, and if we want to reuse our spines that's inefficient. So it's probably better to use this 3-glider LWSS-to-MWSS turner salvo instead, which does work at 1x and can have NW gliders passed through it:

Code: Select all

x = 60, y = 72, rule = B3/S23
20b2o$12b3o4bobo$14bo6bo$13bo3$16b3o$18bo$17bo8$bo6b2o$b2o6b2o$obo5bo
3$5bo$5b2o$4bobo$42bo$41b3o$41bob2o$42b3o$42b2o39$56b3o$56bo2bo$56bo$
56bo$57bobo!
I definitely should have checked this before constructing the rake for the two-glider salvo :lol:.
TwoGliderSalvoRake.mc
(361.48 KiB) Downloaded 117 times
I still think it's worth posting, though, since the technology and lessons learned should all still be useful. Here's the version of the script I used to generate the spines for it (some bits are commented out):

Code: Select all

#ShipBuilder.py

import golly as g
from glife import *
import math
import os

name = "ShipBuilder"

def mod(x,m):
    return ((x % m) + m) % m

trailDX = -1
trailDY = -1
trailDT = 4

trailStartState = g.parse("b2o$2o$2bo!",0,0)

climberDX = 15
climberDY = -11
climberDT = 107

climberGliderPrunedTime = 62
climberStartStates = [[g.parse("18b2o$17b2o$4bo14bo$4bo11b2o$4bo10b2o$9b2o3bobo$bo6bob2o2bo$obo6b2obob2o$bo7b2ob2ob3obo$9bo2bo4b2o$4bo6bo$3bo4b3o$4bo2b2o!",-17,0),climberDT - climberGliderPrunedTime],
                      [g.parse("17bobo$16bo2bo$16bo3bo$16bo2bo2$13bo4bo$12bobo2b2o$17b2o2bo$12bo2bob2ob3o$12b4ob2o2b2o$12bo2b2o4b2o$13bobo5b2o$14b2o$14b3obo3bo$22bo$10bo9b2o$7b2ob2o$7b2o$8bo3b2obo$5b2o2bo2bo$5b2o3bobo3b2o$6bo8b2o$14b3o$2b3o8b2o5bo$2o2bo7bobo6bo$b6o5b3o4b3o$2bo2bo2bo$5bo2bo$8bo!",-17,-13),climberGliderPrunedTime]]


trailShiftX = -6
trailShiftY = 12
trailShiftT = 1


trailPairDistance = 186
extraDistanceToAvoidUnwantedCollisions = 0
extraDistanceToAvoidUnwantedCollisions2 = 0
extraDistanceToAvoidUnwantedCollisions3 = 0


'''trailPairDistance = 211
extraDistanceToAvoidUnwantedCollisions = 8
extraDistanceToAvoidUnwantedCollisions2 = 3
extraDistanceToAvoidUnwantedCollisions3 = 2'''



trailPairDistanceScaling = trailPairDistance // 8
minNeutralDistance = 30 + trailPairDistanceScaling
SWRakeDistance = minNeutralDistance - 1
blockLayerDistance = minNeutralDistance - 9

#TODO: For a certain range of SWRakeDistance values, this results in a collision
    #Should fix this
def NWRakePairSpacings(extraSize,intermediatePairs):
    if intermediatePairs == 0: #This is a bit finnicky due to the extra required specification at the beginning (meaning it acts more like a 1)
        return [0,minNeutralDistance,12+16*extraSize,SWRakeDistance,161-trailPairDistanceScaling+151*extraSize,minNeutralDistance]
    if intermediatePairs == 1:
        return [0,SWRakeDistance,1+extraDistanceToAvoidUnwantedCollisions,146-extraDistanceToAvoidUnwantedCollisions-trailPairDistanceScaling+151*extraSize,1,minNeutralDistance]
    elif intermediatePairs == 2: #This is a bit finnicky since the limited customizability means it doesn't work on every pair track spacing
        return [4+extraDistanceToAvoidUnwantedCollisions3,SWRakeDistance,0,minNeutralDistance,1,103-2*trailPairDistanceScaling+151*extraSize,1,minNeutralDistance]
    else:
        useExtra = extraDistanceToAvoidUnwantedCollisions
        if intermediatePairs == 3:
            useExtra = extraDistanceToAvoidUnwantedCollisions2
        return [4+extraDistanceToAvoidUnwantedCollisions3,SWRakeDistance] + [1+useExtra,minNeutralDistance] + [1,minNeutralDistance]*(intermediatePairs-3) + [0,210-useExtra-intermediatePairs*trailPairDistanceScaling+107*(intermediatePairs-3)+151*extraSize,1,minNeutralDistance,1,minNeutralDistance]

#A somewhat customizable NW rake with the opposite phase parity
def NWRakePairSpacingsOddPhase(extraSize):
    return [1,blockLayerDistance,41-trailPairDistanceScaling+16*extraSize,SWRakeDistance,1+extraDistanceToAvoidUnwantedCollisions,minNeutralDistance,1,minNeutralDistance,0,372-extraDistanceToAvoidUnwantedCollisions-trailPairDistanceScaling*4+151*extraSize,1,minNeutralDistance,1,minNeutralDistance]


#A track builder for the odd-phase track offset, with block layers to catch the gliders from the crawlers on this track
#Ex: (extraSize,-1,4) constructs a 251-track (meaning one glider is 251 steps behind the other)
#For contrast, our starting track is a 186-track
#  This number can be either 2 or 3 mod 8
#  Also must be >= to 162
#extraSizeOffsetting -= 1 -> distance += 167*8
#intermediatePairsForFirstRake +=1 -> distance -= 149*8
#Ex:
#(n,-1,4): 251-track
#(n,-9,13): 211-track
def TrackBuilderNarrow(extraSize,extraSizeOffsetting,intermediatePairsForFirstRake):
    return [1,44]*3 + NWRakePairSpacingsOddPhase(extraSize) + [1,53]*(15-intermediatePairsForFirstRake) + NWRakePairSpacings(extraSize+extraSizeOffsetting,intermediatePairsForFirstRake)
#It actually requires less rephasing to construct a track that starts 'wide', rather than a track that starts 'narrow'
def TrackBuilderWide(extraSize,extraSizeOffsetting,intermediatePairsForFirstRake):
    return [1,44]*3 + NWRakePairSpacingsOddPhase(extraSize) + [1,53]*(14-intermediatePairsForFirstRake) + NWRakePairSpacings(extraSize+extraSizeOffsetting,intermediatePairsForFirstRake)



def makePairSpacings():
    #Track duplicator + edgy NE rake on a 186-track
    return TrackBuilderWide(15,-9,13) + NWRakePairSpacings(11,4) + NWRakePairSpacings(-5,12) + NWRakePairSpacings(2,3) + NWRakePairSpacings(2,1) + [1,53]*7 + NWRakePairSpacings(0,3) + [1,53]*4 + NWRakePairSpacings(0,1) + [1,53]*5 + [1,44,0,53,4,52,0,53,0,59,0,53] + [200,53]
    #186-track extra cleanup
    #return [1,SWRakeDistance,2,SWRakeDistance,2,minNeutralDistance]
    #NE rake on a 211-track
    #return [1,minNeutralDistance] * 1 + NWRakePairSpacings(4,4) + [1,minNeutralDistance]*10 + NWRakePairSpacings(3,1) + [1,minNeutralDistance]*5 + NWRakePairSpacings(1,3) + [1,minNeutralDistance]*7 + NWRakePairSpacings(1,1) + [1,minNeutralDistance]*10 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*2 + [0,minNeutralDistance,0]
    #211-track extra cleanup
    #return [0,SWRakeDistance,18,minNeutralDistance]+[1,minNeutralDistance]*3+[0,minNeutralDistance]+[1,minNeutralDistance]*5+[0,minNeutralDistance]+[1,minNeutralDistance]*2

    

def makeClimbersData():
    #What we want: Make a list of climber pairs with spacings
    #Use that to automatically construct our climber data

    output = [[],[]]
    pairSpacingsList = [0] + makePairSpacings()
    for index in range(len(pairSpacingsList) - 1):
        output[index % 2].append(pairSpacingsList[index] + pairSpacingsList[index + 1])
            
    return output


def main():
    #Create trail glider states
    trailStates = [trailStartState]
    for t in range(trailDT - 1):
        trailStates.append(g.evolve(trailStates[t], 1))

    climberStates = []
    for climberStartData in climberStartStates:
        climberStates.append(climberStartData[0])
        for t in range(climberStartData[1] - 1):
            climberStates.append(g.evolve(climberStates[len(climberStates)-1], 1))

    #TODO: Make this adjustable
    trailHeads = [[0,0,0],[44,-8,trailPairDistance-158]]

    climbersData = makeClimbersData()

    g.new(name)
    for trailIndex in range(len(trailHeads)):
        trailHeadX = trailHeads[trailIndex][0]
        trailHeadY = trailHeads[trailIndex][1]
        trailHeadT = trailHeads[trailIndex][2]
        
        #Initial trail segment
        for i in range(2 ** 0):
            intermediateTrailHeadT = trailHeadT - i * climberDT
            intermediateTrailHeadX = trailHeadX + i * climberDX
            intermediateTrailHeadY = trailHeadY + i * climberDY
            g.putcells(trailStates[mod(intermediateTrailHeadT, trailDT)],
                intermediateTrailHeadX + (intermediateTrailHeadT // trailDT) * trailDX,
                intermediateTrailHeadY + (intermediateTrailHeadT // trailDT) * trailDY)
            
        for climberSpacing in climbersData[trailIndex]:
            newTrailHeadX = trailHeadX + climberSpacing * trailDX
            newTrailHeadY = trailHeadY + climberSpacing * trailDY
            newTrailHeadT = trailHeadT - climberSpacing * trailDT

            #add needed intermediate trail gliders
            for i in range(-((trailHeadT+trailShiftT + climberGliderPrunedTime) // climberDT)+1, -(newTrailHeadT // climberDT)):
                intermediateTrailHeadT = trailHeadT + i * climberDT
                intermediateTrailHeadX = trailHeadX - i * climberDX
                intermediateTrailHeadY = trailHeadY - i * climberDY
                g.putcells(trailStates[mod(intermediateTrailHeadT, trailDT)],
                            intermediateTrailHeadX + (intermediateTrailHeadT // trailDT) * trailDX,
                            intermediateTrailHeadY + (intermediateTrailHeadT // trailDT) * trailDY)

            #paste in the new climber
            g.putcells(climberStates[mod(newTrailHeadT,climberDT)],
                       newTrailHeadX + (newTrailHeadT // climberDT) * climberDX,
                       newTrailHeadY + (newTrailHeadT // climberDT) * climberDY)

            trailHeadX = newTrailHeadX + trailShiftX
            trailHeadY = newTrailHeadY + trailShiftY
            trailHeadT = newTrailHeadT - trailShiftT

main()
One thing I realized while constructing this is that the climber doesn't actually change the Y value of the track mod 7. Luckily, the track builder can construct tracks at any Y value mod 7, so this shouldn't be a major impediment.
Nora Brown
User avatar
glider_rider
Posts: 197
Joined: February 20th, 2013, 5:41 pm
Location: CA

Re: (15,11)c/107 caterpillar thread

Post by glider_rider »

Here are all the 2g MWSS turners I found that can repeat at 1x:

Code: Select all

x = 581, y = 301, rule = B3/S23
490b5o$489bo4bo$494bo$489bo3bo$375b5o111bo$374bo4bo$379bo$374bo3bo$
376bo$258b5o$257bo4bo$262bo268b2o$b5o251bo3bo266b3ob2o$o4bo253bo268b5o
$5bo128b5o390b3o$o3bo128bo4bo277b2o$2bo135bo274b3ob2o$133bo3bo275b5o$
135bo278b3o2$299b2o267bo$296b3ob2o264bo3bo$296b5o270bo$42b2o253b3o266b
o4bo$39b3ob2o408bo113b5o$39b5o131b2o274bo3bo$40b3o129b3ob2o278bo4bo$
172b5o274bo4bo4b2o$173b3o276b5o3bobo$336bo241b3o$334bo3bo241bo$339bo
239bo$79bo254bo4bo$77bo3bo253b5o116b3o$82bo129bo245bo$77bo4bo127bo3bo
242bo$78b5o132bo361b2o$210bo4bo362b2o$211b5o124bo236bo$340b2o$332b3o4b
obo$94bo239bo$94b2o237bo115b2o$93bobo124bo227bobo$213b2o5b2o228bo116bo
$214b2o3bobo345b2o$213bo352bobo2$89b3o353bo$91bo353b2o$90bo353bobo2$
565b3o$567bo$328b2o236bo$321bo5bobo$321b2o6bo$82b2o236bobo$81bobo353b
2o$83bo124b2o228b2o$201b3o3bobo227bo117b2o$203bo5bo344bobo$202bo353bo$
78bo$78b2o353b2o$77bobo352bobo$434bo$554bo$554b2o$553bobo$316b2o$309b
2o6b2o$308bobo5bo$70b2o238bo$71b2o$70bo119bo5b2o$190b2o5b2o$189bobo4bo
2$66b2o$65bobo$67bo43$378b5o$256b5o116bo4bo106b5o$255bo4bo121bo105bo4b
o$260bo116bo3bo111bo$255bo3bo119bo108bo3bo$13b5o239bo232bo$12bo4bo116b
5o$17bo115bo4bo$12bo3bo121bo$14bo118bo3bo$135bo$419b2o$297b2o117b3ob2o
108b2o$294b3ob2o116b5o106b3ob2o$294b5o118b3o107b5o$295b3o230b3o$54b2o$
51b3ob2o118b2o$51b5o116b3ob2o$52b3o117b5o$173b3o280bo$334bo119bo3bo
108bo$332bo3bo122bo105bo3bo$337bo116bo4bo110bo$332bo4bo117b5o105bo4bo$
91bo241b5o228b5o$89bo3bo118bo$94bo115bo3bo$89bo4bo120bo$90b5o115bo4bo
244b2o$211b5o124b2o119b2o108b2o$341b2o117bo111b2o$333b2o5bo113b3o105b
3o6bo$334b2o120bo107bo$92b3o238bo121bo107bo$94bo127b2o$93bo129b2o$222b
o2$88b3o123b2o$90bo122bobo$89bo125bo4$448b3o$328b3o119bo108b3o$330bo
112bo5bo101bo9bo$321b3o5bo113b2o106b2o7bo$81bo241bo118bobo105bobo$81b
2o239bo$80bobo127b3o$212bo$211bo$77bo$77b2o123b2o$76bobo124b2o$202bo3$
437bo$317bo119b2o109bo$317b2o117bobo109b2o$310bo5bobo112b2o106b2o6bobo
$310b2o118bobo105bobo$69b2o238bobo120bo107bo$68bobo128bo$70bo128b2o$
198bobo2$65b2o$64bobo123b3o$66bo125bo$191bo30$254b5o$253bo4bo$258bo$9b
5o239bo3bo$8bo4bo241bo$13bo123b5o227b5o$8bo3bo123bo4bo226bo4bo$10bo
130bo231bo$136bo3bo227bo3bo$138bo231bo2$295b2o$292b3ob2o$292b5o$50b2o
241b3o$47b3ob2o$47b5o126b2o230b2o$48b3o124b3ob2o226b3ob2o$175b5o227b5o
$176b3o229b3o$332bo$330bo3bo$335bo$87bo242bo4bo$85bo3bo241b5o$90bo124b
o231bo$85bo4bo122bo3bo227bo3bo$86b5o127bo231bo$213bo4bo226bo4bo$214b5o
116b2o109b5o$334bobo116b2o$336bo117b2o$90b2o236b2o123bo$91b2o236b2o$
90bo121b2o3b2o109bo116b2o$211bobo4b2o224bobo$213bo3bo228bo3$86b2o$85bo
bo$87bo4$323b2o$324b2o115b3o$323bo119bo$78b3o235b3o123bo$80bo237bo$79b
o120b2o3b3o109bo115b2o$201b2o4bo226b2o$200bo5bo226bo3$74b2o$75b2o$74bo
4$311b3o116bo$313bo116b2o$67bo237bo6bo116bobo$67b2o236b2o$66bobo125bo
109bobo$188b3o3b2o225b3o$190bo2bobo227bo$189bo232bo3$62b3o$64bo$63bo!
There are several things to consider when picking one: The color of the gliders produced is a restriction, and also it's helpful to be able to pass either the MWSS stream or the SE glider stream through them, since that should help keep the ship from becoming larger than necessary.

With that in mind, here's a candidate layout for the upper half of the front track builder:

Code: Select all

x = 268, y = 380, rule = B3/S23
11$89b5o$88bo4bo$93bo$88bo3bo$90bo7$130b2o$127b3ob2o$127b5o$128b3o6$
167bo$165bo3bo$170bo$165bo4bo$166b5o5$171bo$171b2o$163b3o4bobo$165bo$
164bo12$159b2o$152bo5bobo$152b2o6bo$151bobo9$180bobo$181b2o$181bo2$
147b2o$140b2o6b2o$139bobo5bo$141bo8$33bo$31bo3bo$36bo$31bo4bo$32b5o$
135b3o$128b2o7bo$129b2o5bo$128bo4$71b3o$70b5o$70b3ob2o$73b2o5$124bo$
124b2o$116b3o4bobo67bo$118bo75bo$109b5o3bo74b3o$108bo4bo$113bo$108bo3b
o$110bo8$112b2o$105bo5bobo$105b2o6bo$104bobo2$141bo$142b2o$141b2o6$
131b2o$124b2o6b2o$123bobo5bo$100b2o23bo$93b2o6b2o$92bobo5bo$94bo5$204b
o$205b2o$204b2o3$119b3o$112b2o7bo$113b2o5bo$112bo11$154bo$108bo43bobo$
108b2o43b2o$100b3o4bobo$102bo$101bo12$96b2o$89bo5bobo$89b2o6bo119bo$
88bobo124bobo$216b2o12$84b2o$77b2o6b2o$76bobo5bo$78bo2$164bobo$165b2o$
165bo9$72b3o43bo$65b2o7bo42b2o$66b2o5bo43bobo$65bo5$227bobo$228b2o$
228bo6$159b2o$159bobo$159bo8$177bo$178bo$176b3o4$201b2o$200b2o$202bo9$
117bo$116b2o$116bobo121bo$241bo2bo$239b3o2b2o$243bobo11$158b2o$158bobo
$158bo$232b2o$231bobo$188bo44bo$189b2o$188b2o8$192b3o$194bo$193bo2$
220b2o$221b2o$220bo9$181bo$181b2o$180bobo3$208b3o$210bo$209bo9$169b2o$
168bobo$170bo2$197bo$197b2o$196bobo10$157b2o$158b2o$157bo14$145b3o$
147bo$146bo13$134bo$134b2o$133bobo!
I really can't overstate the extent to which this barely works. The MWSSes have exactly two generations at which they can pass through the glider stream here. (This still isn't the harshest timing constraint in the design: Passing the narrow-phase 186-track through the LWSS-to-MWSS turner salvo only works in a single generation.) The track also has to be built in its wide state, as in the narrow state the gliders can't pass through each other. This does mean one extra unavoidable glider output at the front which will have to be cleaned up, but that probably won't actually be any more expensive to do thanks to how good XWSSes are at cleaning up gliders.

One thing to note here is that the gliders in this salvo are the wrong color to be produced by the current edgy slow salvo synths I'm aware of. So either I'll need to find something that works for those or I'll need to switch to one of the other MWSS->G turner salvos (which can't necessarily be passed through the MWSSes but has more easily constructible input gliders) and just accept the cost in space.
Nora Brown
User avatar
glider_rider
Posts: 197
Joined: February 20th, 2013, 5:41 pm
Location: CA

Re: (15,11)c/107 caterpillar thread

Post by glider_rider »

Above-the-spine MWSS forerake + necessary track-building for it complete!
MWSSForerake.mc
(672.25 KiB) Downloaded 130 times
Still need to do the cleanup for the output gliders of the next climbers on the tracks, since the goal is to reuse these built tracks for the second MWSS forerake.
Nora Brown
User avatar
glider_rider
Posts: 197
Joined: February 20th, 2013, 5:41 pm
Location: CA

Re: (15,11)c/107 caterpillar thread

Post by glider_rider »

It turns out that I'm glider colorblind and the MWSS-to-G turner salvo I was intending to use produces the wrong color of glider. Luckily, there's a salvo for the other color of glider which is even easier to pass a MWSS stream through, so this is fine:

Code: Select all

x = 84, y = 64, rule = B3/S23
b5o$o4bo$5bo$o3bo$2bo7$42b2o$39b3ob2o$39b5o$40b3o6$79bo$77bo3bo$82bo$
77bo4bo$78b5o5$76b2o3b2o$75bobo4b2o$77bo3bo14$64b2o3b3o$65b2o4bo$64bo
5bo13$58bo$52b3o3b2o$54bo2bobo$53bo!
Here's a track builder+rake for it:
MWSSToGTurnerForerake.mc
(318.26 KiB) Downloaded 127 times
It's made considerably smaller since the first glider is the right color to be produced by a version of the original much smaller NE rake.

With the way the ship appears to be coming together, it will probably be ideal to adjust the MWSS rake so that it constructs the MWSSes further from the spine (since the MWSSes will need to be much further from the spine than they currently are by the time they reach the turner salvo in order to construct the spine gliders ahead of the track duplicators+turner salvo rake). The MWSSes diverge from the spine extremely slowly so using the existing MWSS rake would require extending the ship significantly. This adjustment should be pretty trivial, at least (just spacing the LWSS and turner salvo rakes further apart).
Nora Brown
User avatar
glider_rider
Posts: 197
Joined: February 20th, 2013, 5:41 pm
Location: CA

Re: (15,11)c/107 caterpillar thread

Post by glider_rider »

Ship completed! Minimum population is 1190163:
(15,11)c107 Ship.mc
(2.25 MiB) Downloaded 246 times
The last component required were the southwards LWSS and glider pair rakes. Final assembly was done using a combination of these scripts (with lots of tweaking to get all the spacings right) and manual copy-pasting:

Code: Select all

#Advancer.py

import golly as g
from glife import *
import math
import os

dX = 15
dY = -11
dT = 107

mult = int(g.getstring("Multiplier:","64"))
iterations = int(g.getstring("Iterations:","8"))

#From goto.py
def intbase(n, b):
    # convert integer n >= 0 to a base b digit list (thanks to PM 2Ring)
    digits = []
    while n > 0:
        digits += [n % b]
        n //= b
    return digits or [0]

def fastRun(gens):
    # use fast stepping (thanks to PM 2Ring)
    for i, d in enumerate(intbase(gens, g.getbase())):
        if d > 0:
            g.setstep(i)
            for j in range(d):
                if g.empty():
                    g.show("Pattern is empty.")
                    return
                g.step()

def step():
    fastRun(dT*mult)
    pat = g.getcells(g.getrect())
    fastRun(dT*mult)
    pat2 = g.transform(g.getcells(g.getrect()),-dX*mult,-dY*mult)
    #AND these two cell lists
    newCellList = []
    cellSet = set()
    for i in range(0,len(pat),2):
        cellSet.add((pat[i],pat[i+1]))
    for j in range(0,len(pat2),2):
        if (pat2[j],pat2[j+1]) in cellSet:
            newCellList.append(pat2[j])
            newCellList.append(pat2[j+1])
    g.new("Advancer")
    g.putcells(newCellList,-dX*mult,-dY*mult)
    
for i in range(iterations):
    g.show("Iteration "+str(i))
    step()
    g.update()

Code: Select all

#ShipBuilder.py

import golly as g
from glife import *
import math
import os

name = "ShipBuilder"

def mod(x,m):
    return ((x % m) + m) % m

trailDX = -1
trailDY = -1
trailDT = 4

trailStartState = g.parse("b2o$2o$2bo!",0,0)

climberDX = 15
climberDY = -11
climberDT = 107

climberGliderPrunedTime = 62
climberStartStates = [[g.parse("18b2o$17b2o$4bo14bo$4bo11b2o$4bo10b2o$9b2o3bobo$bo6bob2o2bo$obo6b2obob2o$bo7b2ob2ob3obo$9bo2bo4b2o$4bo6bo$3bo4b3o$4bo2b2o!",-17,0),climberDT - climberGliderPrunedTime],
                      [g.parse("17bobo$16bo2bo$16bo3bo$16bo2bo2$13bo4bo$12bobo2b2o$17b2o2bo$12bo2bob2ob3o$12b4ob2o2b2o$12bo2b2o4b2o$13bobo5b2o$14b2o$14b3obo3bo$22bo$10bo9b2o$7b2ob2o$7b2o$8bo3b2obo$5b2o2bo2bo$5b2o3bobo3b2o$6bo8b2o$14b3o$2b3o8b2o5bo$2o2bo7bobo6bo$b6o5b3o4b3o$2bo2bo2bo$5bo2bo$8bo!",-17,-13),climberGliderPrunedTime]]


trailShiftX = -6
trailShiftY = 12
trailShiftT = 1


trailPairDistance = 186
extraDistanceToAvoidUnwantedCollisions = 0
extraDistanceToAvoidUnwantedCollisions2 = 0
extraDistanceToAvoidUnwantedCollisions3 = 0

trailPairDistanceScaling = trailPairDistance // 8
minNeutralDistance = 30 + trailPairDistanceScaling
SWRakeDistance = minNeutralDistance - 1
blockLayerDistance = minNeutralDistance - 9


tracks = dict()
tracks[186] = [0,0,0]
tracks[211] = [8,3,2]
tracks[251] = [0,0,2]

def setTrackSize(trackSize):
    global trailPairDistance
    global extraDistanceToAvoidUnwantedCollisions
    global extraDistanceToAvoidUnwantedCollisions2
    global extraDistanceToAvoidUnwantedCollisions3
    global trailPairDistanceScaling
    global minNeutralDistance
    global SWRakeDistance
    global blockLayerDistance
    trailPairDistance = trackSize
    extraDistanceToAvoidUnwantedCollisions = tracks[trackSize][0]
    extraDistanceToAvoidUnwantedCollisions2 = tracks[trackSize][1]
    extraDistanceToAvoidUnwantedCollisions3 = tracks[trackSize][2]

    trailPairDistanceScaling = trailPairDistance // 8
    minNeutralDistance = 30 + trailPairDistanceScaling
    SWRakeDistance = minNeutralDistance - 1
    blockLayerDistance = minNeutralDistance - 9


#A customizable NW rake
def NWRakePairSpacings(extraSize,intermediatePairs):
    if intermediatePairs == 0: #This is a bit finnicky due to the extra required specification at the beginning (meaning it acts more like a 1)
        return [0,minNeutralDistance,12+16*extraSize,SWRakeDistance,161-trailPairDistanceScaling+151*extraSize,minNeutralDistance]
    if intermediatePairs == 1:
        return [0,SWRakeDistance,1+extraDistanceToAvoidUnwantedCollisions,146-extraDistanceToAvoidUnwantedCollisions-trailPairDistanceScaling+151*extraSize,1,minNeutralDistance]
    elif intermediatePairs == 2: #This is a bit finnicky since the limited customizability means it doesn't work on every pair track spacing
        return [4+extraDistanceToAvoidUnwantedCollisions3,SWRakeDistance,0,minNeutralDistance,1,103-2*trailPairDistanceScaling+151*extraSize,1,minNeutralDistance]
    else:
        useExtra = extraDistanceToAvoidUnwantedCollisions
        if intermediatePairs == 3:
            useExtra = extraDistanceToAvoidUnwantedCollisions2
        return [4+extraDistanceToAvoidUnwantedCollisions3,SWRakeDistance] + [1+useExtra,minNeutralDistance] + [1,minNeutralDistance]*(intermediatePairs-3) + [0,210-useExtra-intermediatePairs*trailPairDistanceScaling+107*(intermediatePairs-3)+151*extraSize,1,minNeutralDistance,1,minNeutralDistance]

#A somewhat customizable NW rake with the opposite phase parity
def NWRakePairSpacingsOddPhase(extraSize):
    return [1,blockLayerDistance,41-trailPairDistanceScaling+16*extraSize,SWRakeDistance,1+extraDistanceToAvoidUnwantedCollisions,minNeutralDistance,1,minNeutralDistance,0,372-extraDistanceToAvoidUnwantedCollisions-trailPairDistanceScaling*4+151*extraSize,1,minNeutralDistance,1,minNeutralDistance]


#A track builder for the odd-phase track offset, with block layers to catch the gliders from the crawlers on this track
#Ex: (extraSize,-1,4) constructs a 251-track (meaning one glider is 251 steps behind the other)
#For contrast, our starting track is a 186-track
#  This number can be either 2 or 3 mod 8
#  Also must be >= to 162
#extraSizeOffsetting -= 1 -> distance += 167*8
#intermediatePairsForFirstRake +=1 -> distance -= 149*8
#Ex:
#(n,-1,4): 251-track
#(n,-9,13): 211-track
def TrackBuilderNarrow(extraSize,extraSizeOffsetting,intermediatePairsForFirstRake):
    return [1,blockLayerDistance]*3 + NWRakePairSpacingsOddPhase(extraSize) + [1,minNeutralDistance]*(15-intermediatePairsForFirstRake) + NWRakePairSpacings(extraSize+extraSizeOffsetting,intermediatePairsForFirstRake)
#It actually requires less rephasing to construct a track that starts 'wide', rather than a track that starts 'narrow'
def TrackBuilderWide(extraSize,extraSizeOffsetting,intermediatePairsForFirstRake):
    return [1,blockLayerDistance]*3 + NWRakePairSpacingsOddPhase(extraSize) + [1,minNeutralDistance]*(14-intermediatePairsForFirstRake) + NWRakePairSpacings(extraSize+extraSizeOffsetting,intermediatePairsForFirstRake)



def makePairSpacings():
    #LWSS rake for LWSS-to-MWSS turner, 186-track
    #return NWRakePairSpacingsOddPhase(2) + [1,minNeutralDistance]*4 + NWRakePairSpacings(-3,8) + NWRakePairSpacings(1,3) + NWRakePairSpacings(1,1) + [1,minNeutralDistance]*6 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*4 + [1,SWRakeDistance,1,SWRakeDistance,2,minNeutralDistance] + [0,minNeutralDistance] + [1,minNeutralDistance]*2
    
    #Edgy rake for LWSS-to-MWSS turner salvo construction, 186-track
    #10+19x+17y=37 mod 63 (for exact output alignment to pass through track)
    #return NWRakePairSpacings(17-6,2+6) + NWRakePairSpacings(5,2) + [1,minNeutralDistance]*2 + NWRakePairSpacings(-3,9) + NWRakePairSpacings(1,4) + NWRakePairSpacings(2,1) + NWRakePairSpacings(1,1) + [1,minNeutralDistance]*9 + NWRakePairSpacings(0,2) + [1,SWRakeDistance,1,SWRakeDistance,21,SWRakeDistance,0,minNeutralDistance,0,105-2*trailPairDistanceScaling,0,minNeutralDistance]

    '''
    #The first spine component of a forward MWSS rake, with separate 
    lwssRake = NWRakePairSpacingsOddPhase(3) + [1,minNeutralDistance]*4 + NWRakePairSpacings(-3,8) + NWRakePairSpacings(1,3) + NWRakePairSpacings(1,1) + [1,minNeutralDistance]*6 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*4 + [1,SWRakeDistance,1,SWRakeDistance,2,minNeutralDistance+9] + [0,minNeutralDistance] + [1,minNeutralDistance]*2
    edgyRake = NWRakePairSpacings(11,8) + NWRakePairSpacings(5,2) + [1,minNeutralDistance]*2 + NWRakePairSpacings(-3,9) + NWRakePairSpacings(1,4) + NWRakePairSpacings(2,1) + NWRakePairSpacings(1,1) + [1,minNeutralDistance]*9 + NWRakePairSpacings(0,2) + [1,SWRakeDistance,1,SWRakeDistance,21,SWRakeDistance,0,minNeutralDistance,0,105-2*trailPairDistanceScaling,0,minNeutralDistance]
    edgyRake[0] += 313
    return lwssRake + edgyRake
    '''

    '''
    #More integrated first spine component for a forward MWSS rake
    #I'm not sure if this approach is actually preferable: It depends on how far out we want to build the MWSS tracks
    lwssRake = NWRakePairSpacingsOddPhase(3) + [1,minNeutralDistance]*4 + NWRakePairSpacings(-3,8) + NWRakePairSpacings(1,3) + NWRakePairSpacings(1,1) + [1,minNeutralDistance]*6 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*4 + [1,SWRakeDistance,1,SWRakeDistance,2,minNeutralDistance+9] + [0,minNeutralDistance] + [1,minNeutralDistance]*2
    edgyRakePart1 = NWRakePairSpacings(1,6) + [1,minNeutralDistance]*2 + NWRakePairSpacings(-3,9) + NWRakePairSpacings(1,4) + NWRakePairSpacings(2,1) + NWRakePairSpacings(1,1) + [1,minNeutralDistance]*9 + NWRakePairSpacings(0,2) + [1,SWRakeDistance,1,SWRakeDistance,21,SWRakeDistance,0,minNeutralDistance,0,105-2*trailPairDistanceScaling,0,minNeutralDistance]
    edgyRakePart1[0] += 302
    return NWRakePairSpacings(15-3,2+3) + lwssRake + edgyRakePart1
    '''

    #Edgy rake for LWSS-to-MWSS turner salvo construction, 211-track
    #return NWRakePairSpacings(14-33,3+38) + [1,minNeutralDistance]*2 + NWRakePairSpacings(-4,10) + NWRakePairSpacings(2,3) + NWRakePairSpacings(2,1) + [1,minNeutralDistance]*7 + NWRakePairSpacings(0,3) + [1,minNeutralDistance]*4 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*3 + [1,minNeutralDistance,1,blockLayerDistance,0,blockLayerDistance,0,SWRakeDistance,1+8+1,minNeutralDistance,0,minNeutralDistance,0,minNeutralDistance+69,0,minNeutralDistance]

    #NE rake on a 211-track
    #return [1,minNeutralDistance] * 1 + NWRakePairSpacings(4,4) + [1,minNeutralDistance]*10 + NWRakePairSpacings(3,1) + [1,minNeutralDistance]*5 + NWRakePairSpacings(1,3) + [1,minNeutralDistance]*7 + NWRakePairSpacings(1,1) + [1,minNeutralDistance]*10 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*2 + [0,minNeutralDistance,0]


    '''    
    #First spine component with correct track builder
    lwssRake = NWRakePairSpacingsOddPhase(3) + [1,minNeutralDistance]*4 + NWRakePairSpacings(-3,8) + NWRakePairSpacings(1,3) + NWRakePairSpacings(1,1) + [1,minNeutralDistance]*6 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*4 + [1,SWRakeDistance,1,SWRakeDistance,2,minNeutralDistance+9] + [0,minNeutralDistance] + [1,minNeutralDistance]*2
    edgyRakePart1 = NWRakePairSpacings(1,6) + [1,minNeutralDistance]*2 + NWRakePairSpacings(-3,9) + NWRakePairSpacings(1,4) + NWRakePairSpacings(2,1) + NWRakePairSpacings(1,1) + [1,minNeutralDistance]*9 + NWRakePairSpacings(0,2) + [1,SWRakeDistance,1,SWRakeDistance,21,SWRakeDistance,0,minNeutralDistance,0,105-2*trailPairDistanceScaling,0,minNeutralDistance]
    edgyRakePart1[0] += 302
    mwssRakeFirstSpinePart = NWRakePairSpacings(15-3,2+3) + lwssRake + edgyRakePart1
    mwssRakeFirstSpinePart[0] += 1800
    return TrackBuilderWide(16,-9,13) + mwssRakeFirstSpinePart
    '''
    
    #Second spine component with correct track builder
    #TODO: Replace this with one which leaves the track in wide phase
    #That's much easier to pass through
    #return TrackBuilderWide(22,-9,13) + NWRakePairSpacings(14-33,3+38) + [1,minNeutralDistance]*2 + NWRakePairSpacings(-4,10) + NWRakePairSpacings(2,3) + NWRakePairSpacings(2,1) + [1,minNeutralDistance]*7 + NWRakePairSpacings(0,3) + [1,minNeutralDistance]*4 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*3 + [1,minNeutralDistance,1,blockLayerDistance,0,blockLayerDistance,0,SWRakeDistance,1+8+1,minNeutralDistance,0,minNeutralDistance,0,minNeutralDistance+69,0,minNeutralDistance]



    #Edgy rake for MWSS-to-G turner salvo construction, 186-track
    #return NWRakePairSpacings(11,1) + [1,minNeutralDistance]*9 + NWRakePairSpacings(6,1) + [1,minNeutralDistance]*1 + NWRakePairSpacingsOddPhase(3) + [1,minNeutralDistance]*12 + NWRakePairSpacingsOddPhase(1) + NWRakePairSpacings(2,2) + [1,minNeutralDistance]*4 + NWRakePairSpacings(-1,4) + [1,minNeutralDistance]*4 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*5 + [1,blockLayerDistance] + [0,SWRakeDistance,0,minNeutralDistance,0,minNeutralDistance+6,0,minNeutralDistance]

    #2g+block->G synth NE rake, 251-track
    #return [1,blockLayerDistance,15,SWRakeDistance,0,minNeutralDistance+19,1+3,minNeutralDistance,76-19-3+151*2,minNeutralDistance] + [1,minNeutralDistance]*3 + [0,minNeutralDistance]


    #First spine MWSS-to-G turner salvo construction with correct track builder
    #edgyRake = NWRakePairSpacings(11,1) + [1,minNeutralDistance]*9 + NWRakePairSpacings(6,1) + [1,minNeutralDistance]*1 + NWRakePairSpacingsOddPhase(3) + [1,minNeutralDistance]*12 + NWRakePairSpacingsOddPhase(1) + NWRakePairSpacings(2,2) + [1,minNeutralDistance]*4 + NWRakePairSpacings(-1,4) + [1,minNeutralDistance]*4 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*5 + [1,blockLayerDistance] + [0,SWRakeDistance,0,minNeutralDistance,0,minNeutralDistance+6,0,minNeutralDistance]
    #return TrackBuilderWide(15,-1,4) + edgyRake

    #186-track extra cleanup (place at gen 460)
    #return [1,SWRakeDistance,2,SWRakeDistance,2,minNeutralDistance]



    #First glider stream cleanup, 186-track
    #Remark: It may be more space-efficient to place this on the 251-track
    #forwardLWSSRake = NWRakePairSpacingsOddPhase(7) + [8+11*4,minNeutralDistance,1,minNeutralDistance] + NWRakePairSpacings(-4,10) + NWRakePairSpacings(-3,8) + NWRakePairSpacings(2,2) + [1,minNeutralDistance]*2 + NWRakePairSpacings(1,0) + [1,minNeutralDistance]*11 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*4 + [0,minNeutralDistance,0,blockLayerDistance,68,SWRakeDistance,2,minNeutralDistance] + [1,minNeutralDistance]*9 + [0,minNeutralDistance] + [1,minNeutralDistance]*2
    #return [1,SWRakeDistance,2,SWRakeDistance,2,minNeutralDistance+24] + forwardLWSSRake



    #Southward LWSS rake, 251-track
    #return NWRakePairSpacingsOddPhase(2) + [1,minNeutralDistance]*2 + NWRakePairSpacingsOddPhase(1) + NWRakePairSpacings(-2,7) + NWRakePairSpacings(2,2) + NWRakePairSpacings(1,2) + [1,minNeutralDistance]*6 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*3 + [0,minNeutralDistance,1,SWRakeDistance] + [383,SWRakeDistance,13,minNeutralDistance,1,minNeutralDistance] + [0,minNeutralDistance]

    #SE glider pair rake, 211-track
    #return NWRakePairSpacings(12,1) + NWRakePairSpacings(-1,6) + NWRakePairSpacings(2,1) + [1,minNeutralDistance]*7 + NWRakePairSpacings(0,3) + [1,minNeutralDistance]*4 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*4 + [0,minNeutralDistance,0,blockLayerDistance] + [111,SWRakeDistance,18,minNeutralDistance] + [1,minNeutralDistance]*19 + [0,minNeutralDistance,1,minNeutralDistance,121,minNeutralDistance]


    #Control position of first NE gliders
    offsetVar1 = 596
    offsetVar2 = 99*(9+21)
    # 99*16: 84
    # 99*15: 18
    #Want 15-6=9 mod 21

    #Control position of first SE gliders
    offsetVar3 = 55*0
    
    offsetEdgyRakeColor10Amounts = [3,10,10,16,19,19,19,19,19,19,19,19,19,19,19]
    #188 = 4*47
    #Adding a new 1 term gives -20 mod 208 (I think) -4*5 mod 4*52
    #Incrementing a term gives -44 mod 208           -4*11 mod 4*52
    # Terms must be at least 1 and at most like 20 or so
    # First term must be at least 3
    #In particular, adding a new 10 term is free
    offsetEdgyRake0Amounts = [1,18,18,18,18,18,18,18]

    #Control position of second NE gliders
    offsetVar4 = 48
    offsetVar5 = 99*7

    #Control position of second SE gliders
    offsetVar6 = 55*1
    offsetEdgyRakeColor11Amounts = [3,1,1,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19]   
    offsetEdgyRake1Amounts = [1,1,1,1,2,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19]

    rakeToBuild = int(g.getstring("Spine ID:","0"))
    
    if rakeToBuild == 0:
        #Complete first spine, 186-track
        setTrackSize(186)
        forwardLWSSRakeWithCleanup = [1,1980+107*320] + [27,SWRakeDistance,2,minNeutralDistance,1,minNeutralDistance+23] + NWRakePairSpacingsOddPhase(7) + [8+11*4,minNeutralDistance,1,minNeutralDistance] + NWRakePairSpacings(-4,10) + NWRakePairSpacings(-3,8) + NWRakePairSpacings(2,2) + [1,minNeutralDistance]*2 + NWRakePairSpacings(1,0) + [1,minNeutralDistance]*11 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*4 + [0,minNeutralDistance,0,blockLayerDistance,68,SWRakeDistance,2,minNeutralDistance] + [1,minNeutralDistance]*9 + [0,minNeutralDistance] + [1,minNeutralDistance]*2
        trackBuilder251Track1 = TrackBuilderWide(15,-1,4)
        edgyRakeColor0 = NWRakePairSpacings(11,1) + [1,minNeutralDistance]*9 + NWRakePairSpacings(6,1) + [1,minNeutralDistance]*1 + NWRakePairSpacingsOddPhase(3) + [1,minNeutralDistance]*12 + NWRakePairSpacingsOddPhase(1) + NWRakePairSpacings(2,2) + [1,minNeutralDistance]*4 + NWRakePairSpacings(-1,4) + [1,minNeutralDistance]*4 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*5 + [1,blockLayerDistance] + [0,SWRakeDistance,0,minNeutralDistance,0,minNeutralDistance+6,0,minNeutralDistance]
        edgyRakeColor0Cleanup = [967+4,SWRakeDistance,2,SWRakeDistance,2,minNeutralDistance+38]
        trackBuilder251Cleanup = [967+4,SWRakeDistance,2,SWRakeDistance,2,blockLayerDistance,1,blockLayerDistance]
        trackBuilder211Track1 = TrackBuilderWide(23,-9,13)
        NLWSSRake0 = NWRakePairSpacingsOddPhase(3) + [1,minNeutralDistance]*4 + NWRakePairSpacings(-3,8) + NWRakePairSpacings(1,3) + NWRakePairSpacings(1,1) + [1,minNeutralDistance]*6 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*4 + [1,SWRakeDistance,1,SWRakeDistance,2,minNeutralDistance+9] + [0,minNeutralDistance] + [1,minNeutralDistance]*2
        NLWSSRake1 = NLWSSRake0.copy()
        NLWSSRake0[0] += 268 + offsetVar3
        NLWSSRake1[0] += 45 + offsetVar6
        edgyRakeColor10 = NWRakePairSpacings(11,8) + NWRakePairSpacings(5,2) + [1,minNeutralDistance]*2 + NWRakePairSpacings(-3,9) + NWRakePairSpacings(1,4) + NWRakePairSpacings(2,1) + NWRakePairSpacings(1,1) + [1,minNeutralDistance]*9 + NWRakePairSpacings(0,2) + [1,SWRakeDistance,1,SWRakeDistance,21,SWRakeDistance,0,minNeutralDistance,0,105-2*trailPairDistanceScaling,0,minNeutralDistance]
        edgyRakeColor11 = edgyRakeColor10.copy()
        edgyRakeColor10Offset = []
        for offsetVarAmount in offsetEdgyRakeColor10Amounts:
            edgyRakeColor10Offset.append(87-minNeutralDistance+55*offsetVarAmount)
            edgyRakeColor10Offset.append(minNeutralDistance)
        edgyRakeColor10 = [17,minNeutralDistance] + edgyRakeColor10Offset + edgyRakeColor10
        edgyRakeColor10Cleanup = [6079,SWRakeDistance,2,SWRakeDistance,2,minNeutralDistance]
        edgyRakeColor11Offset = []
        for offsetVarAmount in offsetEdgyRakeColor11Amounts:
            edgyRakeColor11Offset.append(87-minNeutralDistance+55*offsetVarAmount)
            edgyRakeColor11Offset.append(minNeutralDistance)
        edgyRakeColor11 = [17,minNeutralDistance] + edgyRakeColor11Offset + edgyRakeColor11
        finalCleanup = NWRakePairSpacingsOddPhase(3) + [1,minNeutralDistance]*4 + NWRakePairSpacings(-3,8) + NWRakePairSpacings(1,3) + NWRakePairSpacings(1,1) + [1,minNeutralDistance]*6 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*4 + [1,SWRakeDistance,1,SWRakeDistance,2,minNeutralDistance+9] + [0,minNeutralDistance] + [1,minNeutralDistance]*1 + [14,SWRakeDistance,0,minNeutralDistance,0,minNeutralDistance+6,0,minNeutralDistance]
        finalCleanup[0] = 6199
        return forwardLWSSRakeWithCleanup + trackBuilder251Track1 + edgyRakeColor0 + edgyRakeColor0Cleanup + edgyRakeColor0 + trackBuilder251Cleanup + trackBuilder211Track1 + NLWSSRake0 + edgyRakeColor10 + edgyRakeColor10Cleanup + NLWSSRake1 + edgyRakeColor11 + finalCleanup

    elif rakeToBuild == 1:
        #Complete second spine, 251-track
        setTrackSize(251)
        #99*19: 72
        #99*20: 12
        #Mod: 63*2
        startingOffsetThing = [0,2020+107*27-offsetVar2+offsetVar1]
        SLWSSRake0 = NWRakePairSpacingsOddPhase(2) + [1,minNeutralDistance]*2 + NWRakePairSpacingsOddPhase(1) + NWRakePairSpacings(-2,7) + NWRakePairSpacings(2,2) + NWRakePairSpacings(1,2) + [1,minNeutralDistance]*6 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*3 + [0,minNeutralDistance,1,SWRakeDistance] + [383,SWRakeDistance,13,minNeutralDistance,1,minNeutralDistance] + [0,minNeutralDistance]
        SLWSSRake0Spacer = [1+offsetVar2-offsetVar1-527+4,minNeutralDistance] + [1,minNeutralDistance]*4 + [1+527-4,minNeutralDistance]
        NERake = [1,blockLayerDistance,15,SWRakeDistance,0,minNeutralDistance+19,1+3,minNeutralDistance,76-19-3+151*2,minNeutralDistance] + [1,minNeutralDistance]*3 + [0,minNeutralDistance]
        SLWSSRake1 = [3042+52-offsetVar5+offsetVar4,minNeutralDistance,1,minNeutralDistance] + NWRakePairSpacingsOddPhase(2) + [1,minNeutralDistance]*2 + NWRakePairSpacingsOddPhase(1) + NWRakePairSpacings(-2,7) + NWRakePairSpacings(2,2) + NWRakePairSpacings(1,2) + [1,minNeutralDistance]*6 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*3 + [0,minNeutralDistance,1,SWRakeDistance] + [383,SWRakeDistance,13,minNeutralDistance]
        SLWSSRake1Spacer = [-460+offsetVar5-offsetVar4-52,minNeutralDistance,0,minNeutralDistance] + [1,minNeutralDistance]*4 + [420,minNeutralDistance]
        finalCleanup = [0,SWRakeDistance,0,minNeutralDistance+56,0]
        return startingOffsetThing + SLWSSRake0 + SLWSSRake0Spacer + NERake + SLWSSRake1 + SLWSSRake1Spacer + NERake + finalCleanup
    
    elif rakeToBuild == 2:
        #Complete third spine, 211-track
        setTrackSize(211)
        #Mod: 198
        #Increase parts offset by 1: +4
        startingOffsetThing = [0,303+offsetVar1]
        SEPairRake = NWRakePairSpacings(12,1) + NWRakePairSpacings(-1,6) + NWRakePairSpacings(2,1) + [1,minNeutralDistance]*7 + NWRakePairSpacings(0,3) + [1,minNeutralDistance]*4 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*4 + [0,minNeutralDistance,0,blockLayerDistance] + [111,SWRakeDistance,18,minNeutralDistance] + [1,minNeutralDistance]*19 + [0,minNeutralDistance,1,minNeutralDistance,121,minNeutralDistance]
        trackBuilder211Track2 = TrackBuilderWide(22,-9,13)
        edgyRake0 = NWRakePairSpacings(14-33,3+38) + [1,minNeutralDistance]*2 + NWRakePairSpacings(-4,10) + NWRakePairSpacings(2,3) + NWRakePairSpacings(2,1) + [1,minNeutralDistance]*7 + NWRakePairSpacings(0,3) + [1,minNeutralDistance]*4 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*3 + [1,minNeutralDistance,1,blockLayerDistance,0,blockLayerDistance,0,SWRakeDistance,1+8+1,minNeutralDistance,0,minNeutralDistance,0,minNeutralDistance+69,0,minNeutralDistance]
        edgyRake1 = edgyRake0.copy()
        edgyRake0[0] += 54 + 55*17 - offsetVar1
        edgyRake0Offset = []
        for offsetVarAmount in offsetEdgyRake0Amounts:
            edgyRake0Offset.append(87-minNeutralDistance+55*(offsetVarAmount-1))
            edgyRake0Offset.append(minNeutralDistance)
        edgyRake0Cleanup = [2056,SWRakeDistance,18,SWRakeDistance,18,SWRakeDistance,18,minNeutralDistance]
        edgyRake1[0] += 13
        edgyRake1Offset = []
        for offsetVarAmount in offsetEdgyRake1Amounts:
            edgyRake1Offset.append(87-minNeutralDistance+55*(offsetVarAmount-1))
            edgyRake1Offset.append(minNeutralDistance)
        trackBuilder211Track2Cleanup = [2056,SWRakeDistance,18,SWRakeDistance,18,minNeutralDistance] + [0,minNeutralDistance,1,minNeutralDistance]
        return startingOffsetThing + SEPairRake + trackBuilder211Track2 + edgyRake0Offset + edgyRake0 + edgyRake0Cleanup + edgyRake1Offset + edgyRake1 + trackBuilder211Track2Cleanup
    
    elif rakeToBuild == 3:
        #Complete fourth spine, 211-track
        setTrackSize(211)
        startingOffsetThing = [0,13085-offsetVar1]
        NERake = NWRakePairSpacings(4,4) + [1,minNeutralDistance]*10 + NWRakePairSpacings(3,1) + [1,minNeutralDistance]*5 + NWRakePairSpacings(1,3) + [1,minNeutralDistance]*7 + NWRakePairSpacings(1,1) + [1,minNeutralDistance]*10 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*2 + [0,minNeutralDistance,0]
        NERakeDebrisCleanup = [610,0,SWRakeDistance,18,minNeutralDistance,0,minNeutralDistance,1,minNeutralDistance,1,minNeutralDistance,1,minNeutralDistance,1,minNeutralDistance,0,minNeutralDistance,1,minNeutralDistance,1,minNeutralDistance]
        SEPairRakeSpacer = [1,minNeutralDistance+31]*3
        SEPairRakeSpacer[0] += offsetVar4
        SEPairRake = NWRakePairSpacings(12,1) + NWRakePairSpacings(-1,6) + NWRakePairSpacings(2,1) + [1,minNeutralDistance]*7 + NWRakePairSpacings(0,3) + [1,minNeutralDistance]*4 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*4 + [0,minNeutralDistance,0,blockLayerDistance] + [111,SWRakeDistance,18,minNeutralDistance] + [1,minNeutralDistance]*19 + [0,minNeutralDistance,1,minNeutralDistance,121,minNeutralDistance]
        NERake1Spacer = [311*99-31*3+310-offsetVar4,minNeutralDistance] + [1,minNeutralDistance]*3
        finalCleanup = [6,SWRakeDistance,4,minNeutralDistance,0,131,0,minNeutralDistance,0]
        return startingOffsetThing + NERake + NERakeDebrisCleanup + SEPairRakeSpacer + SEPairRake + NERake1Spacer + NERake + NERakeDebrisCleanup + finalCleanup
    
        #NERakeDebrisCleanup[len(NERakeDebrisCleanup)-1] += 99*1
        #SEPairRakeSpacer[0] += 99*1
        #Offset: 47 mod 63
        #SEPairRake[0] += 99: 50 mod 63 (+3)
        #SEPairRakeSpacer = [1,minNeutralDistance+31]*1
        #+Spacer: 62 mod 63 (+15)
        #Move spacers around LWSS rake: shifts by 1 mod 3
        #Value: 24
    
    
    
#Track duplicator + edgy NE rake on a 186-track
#return TrackBuilderWide(15,-9,13) + NWRakePairSpacings(11,4) + NWRakePairSpacings(-5,12) + NWRakePairSpacings(2,3) + NWRakePairSpacings(2,1) + [1,53]*7 + NWRakePairSpacings(0,3) + [1,53]*4 + NWRakePairSpacings(0,1) + [1,53]*5 + [1,44,0,53,4,52,0,53,0,59,0,53] + [200,53]
#186-track extra cleanup
#return [1,SWRakeDistance,2,SWRakeDistance,2,minNeutralDistance]
#NE rake on a 211-track
#return [1,minNeutralDistance] * 1 + NWRakePairSpacings(4,4) + [1,minNeutralDistance]*10 + NWRakePairSpacings(3,1) + [1,minNeutralDistance]*5 + NWRakePairSpacings(1,3) + [1,minNeutralDistance]*7 + NWRakePairSpacings(1,1) + [1,minNeutralDistance]*10 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*2 + [0,minNeutralDistance,0]
#211-track extra cleanup
#return [0,SWRakeDistance,18,minNeutralDistance]+[1,minNeutralDistance]*3+[0,minNeutralDistance]+[1,minNeutralDistance]*5+[0,minNeutralDistance]+[1,minNeutralDistance]*2


#N LWSS rake, 186-track
#Issue with this: This is the opposite color from what we want
#return NWRakePairSpacingsOddPhase(9) + NWRakePairSpacings(3,7) + NWRakePairSpacings(-4,13) + [1,minNeutralDistance]*7 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*5 + [1,blockLayerDistance] + [1,minNeutralDistance]*6 + [0,minNeutralDistance] + [1,minNeutralDistance]*3 + [0,minNeutralDistance] + [1,minNeutralDistance]*9 + [0,minNeutralDistance+5] + [1,minNeutralDistance]*2 + [0,minNeutralDistance,0,minNeutralDistance+62,0,minNeutralDistance] + [1,minNeutralDistance]*2

#Candidate edgy rake for MWSS-turner salvo construction, on a 186-track
#Issue with this: Use of SE glidrs in synth drastically increases size required to clear the rakes involved + cleanup
#return NWRakePairSpacings(7,1) + [1,minNeutralDistance]*2 + NWRakePairSpacingsOddPhase(4) + [1,minNeutralDistance]*5 + NWRakePairSpacings(5,1) + [1,minNeutralDistance]*7 + NWRakePairSpacings(4,1) + [1,minNeutralDistance]*5 + NWRakePairSpacings(0,1) + [1,minNeutralDistance]*5 + [1,blockLayerDistance] + [1,minNeutralDistance]*7 + [0,minNeutralDistance] + [1,minNeutralDistance]*2
    



def makeClimbersData():
    #What we want: Make a list of climber pairs with spacings
    #Use that to automatically construct our climber data

    output = [[],[]]
    pairSpacingsList = [0] + makePairSpacings()
    for index in range(len(pairSpacingsList) - 1):
        output[index % 2].append(pairSpacingsList[index] + pairSpacingsList[index + 1])
            
    return output


def main():
    climbersData = makeClimbersData()
    
    #Create trail glider states
    trailStates = [trailStartState]
    for t in range(trailDT - 1):
        trailStates.append(g.evolve(trailStates[t], 1))

    climberStates = []
    for climberStartData in climberStartStates:
        climberStates.append(climberStartData[0])
        for t in range(climberStartData[1] - 1):
            climberStates.append(g.evolve(climberStates[len(climberStates)-1], 1))

    #Adjustable trail head list
    #TODO: Option to start in the wide configuration
    trailHeads = [[0,0,0],[44,-8,trailPairDistance-158]]

    g.new(name)
    for trailIndex in range(len(trailHeads)):
        trailHeadX = trailHeads[trailIndex][0]
        trailHeadY = trailHeads[trailIndex][1]
        trailHeadT = trailHeads[trailIndex][2]
        
        #Initial trail segment
        for i in range(2 ** 15):
            intermediateTrailHeadT = trailHeadT - i * climberDT
            intermediateTrailHeadX = trailHeadX + i * climberDX
            intermediateTrailHeadY = trailHeadY + i * climberDY
            g.putcells(trailStates[mod(intermediateTrailHeadT, trailDT)],
                intermediateTrailHeadX + (intermediateTrailHeadT // trailDT) * trailDX,
                intermediateTrailHeadY + (intermediateTrailHeadT // trailDT) * trailDY)
            
        for climberSpacing in climbersData[trailIndex]:
            newTrailHeadX = trailHeadX + climberSpacing * trailDX
            newTrailHeadY = trailHeadY + climberSpacing * trailDY
            newTrailHeadT = trailHeadT - climberSpacing * trailDT

            #add needed intermediate trail gliders
            for i in range(-((trailHeadT+trailShiftT + climberGliderPrunedTime) // climberDT)+1, -(newTrailHeadT // climberDT)):
                intermediateTrailHeadT = trailHeadT + i * climberDT
                intermediateTrailHeadX = trailHeadX - i * climberDX
                intermediateTrailHeadY = trailHeadY - i * climberDY
                g.putcells(trailStates[mod(intermediateTrailHeadT, trailDT)],
                            intermediateTrailHeadX + (intermediateTrailHeadT // trailDT) * trailDX,
                            intermediateTrailHeadY + (intermediateTrailHeadT // trailDT) * trailDY)

            #paste in the new climber
            g.putcells(climberStates[mod(newTrailHeadT,climberDT)],
                       newTrailHeadX + (newTrailHeadT // climberDT) * climberDX,
                       newTrailHeadY + (newTrailHeadT // climberDT) * climberDY)

            trailHeadX = newTrailHeadX + trailShiftX
            trailHeadY = newTrailHeadY + trailShiftY
            trailHeadT = newTrailHeadT - trailShiftT

main()
Nora Brown
WhiteHawk
Posts: 1402
Joined: July 10th, 2024, 5:34 pm

Re: (15,11)c/107 caterpillar thread

Post by WhiteHawk »

glider_rider wrote: January 11th, 2026, 12:57 am Ship completed! Minimum population is 1190163:
What does the ship actually look like? And how big is it compared to other macroships?

EDIT: Also any name ideas, or is "unnamed (15,11)c/107 ship" good enough?
Currently working to improve Life's guns and work on updating SKOPs and Isotropic rules most similar to B3/S23 to Life standards. Will get software to begin searches eventually.

Pseudastur albicollis
User avatar
rabbit
Posts: 244
Joined: March 4th, 2024, 6:00 am
Location: Stuck inside a magician's hat. it hurts so bad

Re: (15,11)c/107 caterpillar thread

Post by rabbit »

WhiteHawk wrote: January 11th, 2026, 2:13 pm
glider_rider wrote: January 11th, 2026, 12:57 am Ship completed! Minimum population is 1190163:
What does the ship actually look like? And how big is it compared to other macroships?
I've uploaded an image of the spaceship at a scale of 128:1 (that is, 128 cells are represented as 1 pixel in the final image). I don't know how long conwaylife keeps around attachments that aren't attached to a particular post, but I didn't want to post it inline because it is a large image (although its filesize is only 26 KB, so download without fear!)

The spaceship's bounding box in its minimum population phase is 199,808 x 219,828. Each of those dimensions is about two thirds of the caterpillar's longest side, and just one twentieth of each of Gemini's dimensions. The population of 1.2 million feels larger than average, especially with modern advancements in constructed spaceship technology, but it's still not as high as spaceships like caterpillar and Unnamed (34,7)c/156 spaceship.
That's the bunny.
Check out my OCA exploration script, crule.lua!
User avatar
muzik
Posts: 6605
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: (15,11)c/107 caterpillar thread

Post by muzik »

WhiteHawk wrote: January 11th, 2026, 2:13 pmWhat does the ship actually look like? And how big is it compared to other macroships?
At a scale of 2^8:1 to accommodate its 220kx200k bounding box:
wonderfulspeedstrangeshape.png
wonderfulspeedstrangeshape.png (8.18 KiB) Viewed 3767 times
The crossing paths in the middle remind me a lot of woven stitched thread - perhaps some sort of silk moth related name is in order? (I think we should also take this opportunity to name the (34,7)c/156 spaceships, since they still don't have any formal titles and there will seldom be any better naming opportunities outside of times like these.)
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
WhiteHawk
Posts: 1402
Joined: July 10th, 2024, 5:34 pm

Re: (15,11)c/107 caterpillar thread

Post by WhiteHawk »

muzik wrote: January 11th, 2026, 5:34 pm
Is the bottom right corner the frontend? Which direction is it facing?
Currently working to improve Life's guns and work on updating SKOPs and Isotropic rules most similar to B3/S23 to Life standards. Will get software to begin searches eventually.

Pseudastur albicollis
User avatar
I6_I6
Posts: 1036
Joined: July 26th, 2025, 8:44 pm
Location: Here, there, somewhere, anywhere, everywhere.
Contact:

Re: (15,11)c/107 caterpillar thread

Post by I6_I6 »

WhiteHawk wrote: January 11th, 2026, 8:07 pm
muzik wrote: January 11th, 2026, 5:34 pm
Is the bottom right corner the frontend? Which direction is it facing?
It faces between south and southwest in that image. The crawlers start at the bottom.

Also, to me, the ship looks pretty reducible -- the 'stitches' are long and repetitive and look like they can be compressed.

Code: Select all

#C [[ THEME Golly ]]
x = 27, y = 15, rule = LifeHistory
8.A$A6.A.A$3A4.BA2B.B2D$3.A4.2B.2B2DB$2.2A2.3B.6B2.3B$2.20B$4.19B$4.2B
C10BD4B$4.2B2C10BD4B$4.B2C11B2D3B$4.13B2D4B$5.12BD3B.B2A$6.13B3.BA.A$
6.3B.B3.B10.A$25.2A!
RuleEdit: A .rule file editing tool
User avatar
LaundryPizza03
Posts: 2629
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: (15,11)c/107 caterpillar thread

Post by LaundryPizza03 »

I computed that the object is isotropically endemic. The underlying crawler works only otherwise in B3/S234c, but the corner that generates the east-bound MWSS (in the posted NNE direction of travel for the whole ship) fails in this rule:

Code: Select all

x = 20, y = 16, rule = B3/S234c
bo6b2o$b2o6b2o$obo5bo3$5bo$5b2o$4bobo4$16b3o$16bo2bo$16bo$16bo$17bobo!

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia
WhiteHawk
Posts: 1402
Joined: July 10th, 2024, 5:34 pm

Re: (15,11)c/107 caterpillar thread

Post by WhiteHawk »

LaundryPizza03 wrote: January 11th, 2026, 10:21 pm I computed that the object is isotropically endemic. The underlying crawler works only otherwise in B3/S234c, but the corner that generates the east-bound MWSS (in the posted NNE direction of travel for the whole ship) fails in this rule:

Code: Select all

x = 20, y = 16, rule = B3/S234c
bo6b2o$b2o6b2o$obo5bo3$5bo$5b2o$4bobo4$16b3o$16bo2bo$16bo$16bo$17bobo!
Would've been nice if it had worked in more than one rule like the original (34,7)c/156 ship, but that sounds like an awfully complicated redesign.

EDIT: Here is a version where the period is marked

Code: Select all

x = 40, y = 30, rule = B3/S234c
bo6b2o$b2o6b2o$obo5bo3$5bo$5b2o$4bobo4$16b3o$16bo2bo$16bo$16bo$17bobo!
[[ STOP 55 ]]
[[ ZOOM 10 ]]

Code: Select all

x = 44, y = 30, rule = Life_delta_S4c_v1
12$2.A6.2A$2.2A6.2A$.A.A5.A3$6.A$6.2A$5.A.A4$17.3A$17.A2.A$17.A$17.A$
18.A.A!
[[ STOP 55 ]]
[[ ZOOM 10 ]]

Code: Select all

x = 44, y = 30, rule = Life_delta_S4c_v1
12$2.A6.2A$2.2A6.2A$.A.A5.A3$6.A$6.2A$5.A.A4$17.3A$17.A2.A$17.A$17.A$
18.A.A!
[[ STOP 55 ]]
[[ ZOOM 10 ]]
Currently working to improve Life's guns and work on updating SKOPs and Isotropic rules most similar to B3/S23 to Life standards. Will get software to begin searches eventually.

Pseudastur albicollis
User avatar
muzik
Posts: 6605
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: (15,11)c/107 caterpillar thread

Post by muzik »

On Discord it has been pointed out that it looks more like a sailboat than the oscillator carrying that name. Since boats are used to traverse the sea, and spiders produce silk (tying in with the previous statement about stitched threads), would "sea spider" be a name we can get behind, or does anyone have any objections or counterproposals?
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
hotdogPi
Moderator
Posts: 2273
Joined: August 12th, 2020, 8:22 pm

Re: (15,11)c/107 caterpillar thread

Post by hotdogPi »

I'm mostly in support of the name. Doing so will start a trend where crawlers are known as spiders (camel spider being the first), despite "spider" by itself not being part of the group. I'm not sure if this is actually a problem.

EDIT: Go with the post below.
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
User avatar
glider_rider
Posts: 197
Joined: February 20th, 2013, 5:41 pm
Location: CA

Re: (15,11)c/107 caterpillar thread

Post by glider_rider »

I'm currently leaning towards the name "Silk moth", because in addition to the woven appearance it also generally resembles a lepidopteran wing in outline.
Nora Brown
WhiteHawk
Posts: 1402
Joined: July 10th, 2024, 5:34 pm

Re: (15,11)c/107 caterpillar thread

Post by WhiteHawk »

glider_rider wrote: January 12th, 2026, 1:41 pm I'm currently leaning towards the name "Silk moth", because in addition to the woven appearance it also generally resembles a lepidopteran wing in outline.
Nice name choice! (silkworm would be a good name for a bb/pop reduction)

Two things to make this post more than a pointless compliment:

(1) The Silk moth wiki page uses an image of the ship in both an unusual color scheme for macro spaceships and is in what I believe to be the wrong orientation (should be headed N-NW or N-NE)

(2) can someone create a visualization of this ship alongside other macro ships (particularly interested in comparison to (34,7)c/156, but other ships like 31c/240 and Waterbear (or Giraffe Weevil) would also be helpful (i.e. something akin to this post:)
b-engine wrote: December 3rd, 2025, 9:18 am Here's the size of solifuge compared to other spaceships:
...
The entire pattern plus HBK caterpillar can fit inside the previous population+BB record of camelships:
...
Currently working to improve Life's guns and work on updating SKOPs and Isotropic rules most similar to B3/S23 to Life standards. Will get software to begin searches eventually.

Pseudastur albicollis
User avatar
hibiscus
Posts: 436
Joined: August 26th, 2023, 3:30 am

Re: (15,11)c/107 caterpillar thread

Post by hibiscus »

I've been working on a synthesis of the Silk Moth for about a week now; here's the current state of the synthesis as a screenshot (oriented to move NNW):
silkmoth.png
silkmoth.png (1.44 KiB) Viewed 2507 times
I'll provide an RLE as an attachment as soon as I finish the cleanup for this particular stage. So far, everything up until the first LWSS siderake has been synthesised.

Edit: (2026/02/27 09:01): Wish I could've gotten a little further, but alas, my mouse has been suffering from anomalous scrolling.

Code: Select all

#C [[ ZOOM 8 TRACK -3/87 -1/87 ]]
x = 4, y = 5, rule = B35ay/S2-i3-e4ey5j
2bo$b2o$2obo$bobo$2b2o!
24-48
User avatar
hibiscus
Posts: 436
Joined: August 26th, 2023, 3:30 am

Re: (15,11)c/107 caterpillar thread

Post by hibiscus »

I could have never imagined that I'd finish it before April started, but this is what happens when you forgo a night of sleep as a result.
Silk Moth synthesis COMPLETED!!
62124 gliders painstakingly arranged over the course of one night to synthesise the first and only (15,11)c/107 spaceship. I would love to show you how exactly the synthesis looks like, but I'd rather keep the techniques I used to make this a secret until you download the file. Just as a proof that this indeed works, here's the resulting Silk Moth a few million generations after the cleanup of each stage has been performed:
Can you believe it? 62,124 gliders came together to produce this.
Can you believe it? 62,124 gliders came together to produce this.
generation100000000.png (71.22 KiB) Viewed 1976 times
Anyway enough with the suspense, here's THE 62124G SILK MOTH SYNTHESIS.
62124.mc
(140.97 KiB) Downloaded 148 times

Code: Select all

#C [[ ZOOM 8 TRACK -3/87 -1/87 ]]
x = 4, y = 5, rule = B35ay/S2-i3-e4ey5j
2bo$b2o$2obo$bobo$2b2o!
24-48
User avatar
I6_I6
Posts: 1036
Joined: July 26th, 2025, 8:44 pm
Location: Here, there, somewhere, anywhere, everywhere.
Contact:

Re: (15,11)c/107 caterpillar thread

Post by I6_I6 »

hibiscus wrote: April 1st, 2026, 12:01 am I could have never imagined that I'd finish it before April started, but this is what happens when you forgo a night of sleep as a result.
Silk Moth synthesis COMPLETED!!
62124 gliders painstakingly arranged over the course of one night to synthesise the first and only (15,11)c/107 spaceship. I would love to show you how exactly the synthesis looks like, but I'd rather keep the techniques I used to make this a secret until you download the file. Just as a proof that this indeed works, here's the resulting Silk Moth a few million generations after the cleanup of each stage has been performed:
generation100000000.png
Anyway enough with the suspense, here's THE 62124G SILK MOTH SYNTHESIS.
62124.mc
I don't think that's the correct file, since it doesn't work (not to mention the random rectangle in the northwest).
Unless, of course, this entire thing was just a big April fools joke.

Code: Select all

#C [[ THEME Golly ]]
x = 27, y = 15, rule = LifeHistory
8.A$A6.A.A$3A4.BA2B.B2D$3.A4.2B.2B2DB$2.2A2.3B.6B2.3B$2.20B$4.19B$4.2B
C10BD4B$4.2B2C10BD4B$4.B2C11B2D3B$4.13B2D4B$5.12BD3B.B2A$6.13B3.BA.A$
6.3B.B3.B10.A$25.2A!
RuleEdit: A .rule file editing tool
hotdogPi
Moderator
Posts: 2273
Joined: August 12th, 2020, 8:22 pm

Re: (15,11)c/107 caterpillar thread

Post by hotdogPi »

I6_I6 wrote: April 1st, 2026, 9:15 am Unless, of course, this entire thing was just a big April fools joke.
This is similar to the Speed Orthogonoid which was completed on April 1, 2022, with the only difference being that the 2022 megaproject was for the spaceship itself while this is for a synthesis of it.
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
Post Reply