I finally made an (inexpertly coded) arbitrarily-large-greyship-synthesising script!:
Code: Select all
#synthesise-greyships.py
#Goldtiger997, October 2021
import golly as g
import webbrowser
d = 6032
Goffset = 11
t = [[-1,1],[1,1],[1,-1],[-1,-1]]
#[NE,NW,SW,SE,xoffset,yoffset]
X = ["2$b2o$obo$2bo5b2o$9b2o$8bo7$2bo$2b2o$bobo5$3bo$3b2o$2bobo!","16b2o4bo$15b2o4b2o$17bo3bobo6$24b2o$23b2o$25bo2$27bo$26b2o$26bobo!","","",-19,11]
Y = ["30bo$30b2o$29bobo3$33bo$33b2o$32bobo$24b3o$26bo$25bo4b2o$31b2o$30bo$23b2o$22bobo$24bo4$21b2o$22b2o$21bo7$b2o$obo$2bo!","$39b2o$38b2o$40bo10$57b2o$57bobo$57bo4$68b2o$68bobo$68bo!","","",-33,7]
A1 = ["b114$83b2o$78b2o4b2o$77bobo3bo$79bo10$71b3o$73bo$64b2o6bo$65b2o$64bo7$40bo$40b2o$39bobo3$50b3o$52bo$40b2o9bo$41b2o$40bo9$26bo$26b2o$25bobo9$11b3o$13bo$12bo16$13b3o$15bo$14bo4$6b2o3b3o$5bobo5bo$7bo4bo$b3o$3bo$2bo3$3bo$3b2o$2bobo3$2o$b2o$o!","b114$128bo$127b2o$127bobo7$131b3o$131bo$132bo3b2o$136bobo$136bo5$128b2o$127b2o$129bo2$137b3o$137bo$138bo3$136b2o$135b2o$137bo36$187b2o$187bobo$178b3o6bo$178bo$179bo10$208b2o$207b2o$200b3o6bo$200bo$201bo8$208b2o$207b2o$209bo5$207b2o$206b2o$208bo!","b!","b2bobo$4b2o3bo$4bo5b2o$9b2o37$45bo$46b2o$40bo4b2o$41bo$39b3o3$50bo$51b2o$50b2o4$51bo$49bobo$50b2o8$67bo$65bobo$66b2o!",-103,-89]
A2 = ["b212$160b2o$154b3o2bobo$156bo4bo$155bo7$150bo$150b2o$149bobo2$146b2o$147b2o$139bo6bo$139b2o$138bobo14$128b2o$127bobo$129bo4$120b3o$122bo$121bo3$123b3o$125bo$115b2o7bo$116b2o$115bo5b2o$120bobo$122bo3$109b2o$110b2o$109bo3$105bo$105b2o$104bobo2$91b2o$90bobo$92bo9$90b2o$91b2o$90bo8$82b2o$75b3o3bobo$77bo5bo$76bo2$73b2o$72bobo$74bo2$68b2o$69b2o$68bo2$63b3o$65bo$64bo7b3o$74bo$73bo17$55b2o$56b2o$55bo7$38b3o$40bo$39bo2$43b2o$44b2o$43bo4$28bo$28b2o$27bobo8$11b2o$12b2o$11bo6b3o$20bo$19bo8$11b2o$12b2o$11bo5$12b2o$3o10b2o$2bo9bo$bo6$3b3o$5bo$4bo!","b214$210bo$209b2o$202b2o5bobo$202bobo$202bo8$223bo$222b2o$222bobo$233bo$232b2o$232bobo$240b3o$240bo$241bo7$246b2o$234b2o9b2o$234bobo10bo$234bo2$238b2o$238bobo$238bo2$242b2o$242bobo$242bo9$248b2o$247b2o$249bo3bo$252b2o$252bobo8$268bo$267b2o$267bobo9$284bo$283b2o$283bobo4$283b2o$282b2o$284bo8b2o$293bobo$287b3o3bo$287bo$288bo$284b2o$284bobo$284bo$295b2o$294b2o$296bo4$303b2o$292b2o8b2o$291b2o11bo$293bo3$326b2o$326bobo$326bo2$324bo$323b2o$323bobo5$323bo$322b2o$322bobo7$319b2o$318b2o$320bo2$323b3o$323bo$324bo6$348b2o$337bo10bobo$336b2o10bo$336bobo2$341bo$340b2o$340bobo4$341b3o3b2o$341bo5bobo$342bo4bo$351b3o$351bo$352bo3$351bo$350b2o$350bobo3$353b2o$352b2o$354bo7$375b2o$375bobo$375bo$381bo$380b2o$380bobo6$386b2o$385b2o$387bo!","b375bobo$376b2o$377bo30$345bo$345bobo3bo$345b2o4bobo$351b2o9$324bobo$324b2o$325bo42$285bo$284bo$284b3o41$244bo$242b2o6bo$243b2o3b2o$249b2o8$230bo$228b2o$229b2o3$230bo$230bobo$225bobo2b2o$225b2o$226bo!","b!",-181,-184]
H4 = ["","2o$obo$o!","","",40,40]
A3 = ["b78$27b2o$28b2o$27bo8$7b2o$6bobo$8bo7$2bo$2b2o$bobo5$6b2o$7b2o$6bo6b3o$15bo$14bo9$5bo$5b2o$4bobo5$6bo$6b2o$5bobo!","b82$76b3o$76bo$77bo2$79b2o$79bobo$79bo3$80b2o$80bobo$80bo9$96b3o3b2o$96bo5bobo$97bo4bo8$107b2o$106b2o$108bo2$110bo$109b2o$109bobo!","b!","o5bo$b2obobo$2o3b2o4$10bo$11bo$9b3o14$14bo$15bo3bo$13b3o4bo$18b3o3$11bobo$12b2o2bobo8bo$12bo4b2o6bobo$17bo8b2o!",-59,-55]
A4 = ["b90$51b3o$46b2o5bo$47b2o3bo$46bo7$29b2o$30b2o9b2o$29bo10bobo$42bo2$37b2o$36bobo$38bo3$36bo$30b2o4b2o$31b2o2bobo$26bo3bo$26b2o$25bobo4$27b2o$26bobo$28bo3$24b3o$26bo$25bo7$2b2o$3b2o$2bo!","b90$97b2o$97bobo$97bo6$102bo$101b2o$101bobo3$105b2o$105bobo$105bo8$121b3o$115bo5bo$114b2o6bo$114bobo9$121b3o$121bo$122bo5$120b3o10bo$120bo11b2o$121bo10bobo!","b!","bbo$obo$b2o30$32bo$26bo6b2o$27b2o3b2o$26b2o!",-72,-64]
B1 = ["b59$29b2o$28bobo$30bo5$25bo$25b2o$24bobo4$17b2o$16bobo$18bo2$21b3o$23bo$22bo8$23b2o$24b2o$23bo$13bo$13b2o$12bobo2$24b2o$25b2o$12b2o10bo$b2o8bobo$obo10bo$2bo!","b80$86b3o$86bo$87bo3$87b2o$86b2o$88bo4$100bo$99b2o$99bobo!","b!","bbobo$3b2o$3bo4$19bo$17bobo$18b2o3bo$24bo$22b3o$14bo$12bobo12bo$13b2o10bobo$26b2o!",-57,-44]
B2 = ["b67$25b2o$24bobo$26bo5$17b2o$16bobo$18bo2$13bo7b3o$13b2o8bo$12bobo7bo8$23b2o$24b2o$23bo$13bo$13b2o$12bobo2$24b2o$25b2o$12b2o10bo$b2o8bobo$obo10bo$2bo!","b82$88b3o$88bo$89bo3$89b2o$88b2o$90bo4$102bo$101b2o$101bobo!","","bbobo$3b2o$3bo8$19bo$17bobo$18b2o3$20bobo6bo$21b2o4bobo$21bo6b2o!",-58,-45]
B3 = ["b127$52bo18b3o$52b2o19bo$51bobo18bo$66b3o$56b3o9bo$58bo8bo$57bo4$46b3o23b2o$48bo24b2o$47bo24bo$61b3o$63bo$62bo3$55b2o$54bobo$56bo4$54b2o$55b2o$54bo7$29b2o$28bobo10bo$30bo10b2o$40bobo2$37bo$37b2o$36bobo4$30b2o3b3o$29bobo5bo$31bo4bo$25b3o$27bo$26bo3$27bo$27b2o$26bobo3$24b2o$25b2o$24bo7$2b2o$bobo$3bo!","b131$125b2o$124b2o$126bo13b2o$139b2o$141bo11$154b2o$149b2o2b2o$149bobo3bo$149bo14$166bo$165b2o$165bobo8$182b2o$181b2o$174b3o6bo$174bo$175bo8$182b2o$181b2o$183bo5$181b2o$180b2o10b3o$182bo9bo$193bo!","","obo$b2o$bo30$33bo$27bo3bobo$25bobo4b2o$26b2o9$43bo4bo$44bo4bo5bobo$42b3o2b3o6b2o$56bo13$61bo$62b2o$61b2o!",-105,-94]
B4 = ["b113$68b3o$70bo$69bo4$61b2o$62b2o$61bo3$58bo$58b2o$57bobo12$43b2o$44b2o$43bo3$43b2o$42bobo$44bo5$30b3o$32bo$31bo6$25bo$25b2o$24bobo3$23bo$23b2o$22bobo3$19b2o$20b2o$19bo8$3o$2bo$bo!","b98$125b2o$124b2o$126bo4$133b2o$133bobo$133bo4$125b2o$125bobo6bo$125bo7b2o$133bobo3$132bo$131b2o$131bobo6$134b3o$134bo$135bo4b2o$140bobo$140bo6$139b2o4b2o$138b2o5bobo2b3o$140bo4bo4bo$151bo7$137b2o$137bobo$137bo$170bo$147b3o19b2o$147bo21bobo$148bo$136b2o$136bobo$136bo12bo$148b2o$148bobo8b3o$159bo$152bo7bo$151b2o$151bobo8$187b2o$186b2o$188bo4$183b2o$182b2o$184bo$178bo$177b2o$177bobo8b3o$188bo$189bo!","b182bo$182bo$182b3o$173bo$173bobo$166bo6b2o$166bobo$166b2o9bo$177bobo$177b2o3$180bo$179bo$179b3o10$154bobo$154b2o$155bo2$148bo$147bo$147b3o3$144bo$144bobo$144b2o4$146bobo$146b2o$147bo2$128bobo$128b2o$129bo4$123bo$123bobo$123b2o!","b29$63bobo$64b2o$64bo!",-89,-87]
C1 = ["b48$4b2o$3bobo$5bo10bo$16b2o$15bobo2$12bo$12b2o$11bobo!","b52$61bo$60b2o$60bobo!","","b7bo$2bo3bobo$obo4b2o$b2o!",-37,-25]
C2 = ["b65$32b2o$31bobo$33bo34$13b3o$15bo$14bo2$11bo$11b2o$4b3o3bobo$6bo$5bo!","100$99bo$98b2o$98bobo5$108b2o$107b2o$109bo!","!","bo$2bo$3o10$4bo$2bobo$3b2o$11bo$9bobo$10b2o11$34bo$35bo$33b3o!",-58,-55]
C3 = ["b104$57bo$57b2o$56bobo6$47b3o$49bo$48bo6$31b3o$33bo$32bo4$33b2o$32bobo$34bo4$23bo$23b2o$22bobo24$2o$b2o$o!","b99$117b3o$117bo$118bo$122b2o$121b2o$123bo3$139b2o$138b2o$140bo5$139b2o$138b2o$140bo13$141b3o$141bo$142bo9$154b2o$154bobo$154bo5$148bo$147b2o$147bobo4$157b3o$157bo$158bo4$160b2o$159b2o$161bo5$159b2o$158b2o$160bo!","b156bo$157bobo$157b2o8$144bo3bo$142b2o3bo$143b2o2b3o6$143bo$135bo5b2o$134bo7b2o$134b3o10$118bo$116b2o$117b2o!","b!",-79,-69]
D1 = ["b50$9b2o$10b2o$9bo5b2o$14bobo$16bo11$bo$b2o$obo7$bo$b2o$obo!","b48$48b2o$48bobo$48bo2$43b2o$42b2o$44bo7$49bo$48b2o$48bobo2$60b2o$59b2o$61bo3$56b3o$56bo$57bo!","b68bobo$69b2o$70bo4$59bo$58bo$58b3o5$53bo$52bo$52b3o3$48bobo$48b2o$49bo!","b!",-29,-33]
D2 = ["b118$76bo$76b2o$75bobo2$71bo$71b2o$70bobo12$63bo$63b2o$62bobo5b2o$69bobo$71bo3$42bo$42b2o$41bobo3$63bo$63b2o$62bobo$45b3o$47bo$46bo2$64bo$64b2o$63bobo4$47b2o$27bo20b2o$19b2o6b2o18bo$18bobo5bobo$20bo3$48b2o$49b2o$48bo$30b2o$29bobo$31bo$17bo$17b2o2b3o$16bobo4bo$22bo2$5b2o8bo$4bobo8b2o$6bo7bobo!","b134$138b2o$138bobo2b3o$138bo4bo$144bo3b2o$148bobo$148bo4$147b2o$146b2o$148bo2$150bo$149b2o$149bobo6$158b3o$158bo$159bo3$159b2o$158b2o$160bo5$168b3o$168bo$169bo$173bo$172b2o$172bobo5$181bo$180b2o$180bobo!","b!","bbo4bo$obo2bobo$b2o3b2o11$22bo$23bo$21b3o3$26bo$27bo$25b3o7$38bobo$39b2o$39bo3bobo$44b2o$44bo31$75bobo$76b2o$76bo6$71bo$72bo$70b3o3$66bo$67b2o$66b2o!",-105,-93]
E1 = ["b43$6b2o$7b2o$6bo$10b3o$12bo$11bo$3o$2bo$bo7$3o$2bo$bo!","b31$42bo$41b2o$41bobo3$38b3o$38bo$39bo6$39b2o$38b2o$40bo2$42b2o$42bobo$42bo3$39b2o$38b2o$40bo!","b51bo$51bo$40bo10b3o$39bo$39b3o!","b!",-20,-25]
E2 = ["b238$205b2o$204bobo$206bo2$208bo$208b2o$207bobo7$207b3o$209bo$208bo8$195b2o$194bobo$196bo$202b2o$201bobo$203bo$190bo$190b2o$189bobo$180b2o$179bobo$181bo7$174b2o$173bobo3b2o4b3o$175bo4b2o5bo$179bo6bo5$175b3o$177bo$176bo5$173b2o$172bobo$174bo$168b3o$170bo$169bo6$164b2o$163bobo$165bo7$144b2o$136b2o7b2o$135bobo6bo13b2o$137bo21b2o$127b2o29bo$126bobo$128bo12$114b2o$102b3o4b2o2bobo$104bo5b2o3bo$103bo5bo13b2o5b2o$124b2o5b2o$123bo6bo5$104b2o$105b2o$104bo12$94b3o$96bo9b2o$95bo11b2o$106bo2$102b2o$103b2o$102bo2$98b2o$99b2o$98bo9$92b3o$94bo$88b2o3bo$87bobo$89bo8$73b2o$72bobo$74bo9$57b2o$56bobo$58bo4$57b3o$59bo$47b2o9bo$48b2o3bo$47bo5b2o$52bobo2$56b2o$57b2o$39b3o14bo$41bo$40bo$32bo$32b2o$31bobo11$28b3o$30bo$29bo10$7b2o$6bobo$8bo$11b2o$12b2o$11bo!","b250$259b3o$259bo$256bo3bo$255b2o$255bobo18$281b2o$281bobo$281bo6$289b3o$289bo$290bo2$286b2o$285b2o5b2o$287bo3b2o$293bo3bo$296b2o$296bobo$291b2o$290b2o$292bo5$302b2o$302bobo$302bo5$315b3o$315bo$316bo4$309b2o$308b2o$310bo6$325b2o$325bobo$325bo9$326b2o$326bobo$326bo2$344bo$343b2o$343bobo24$366b2o$365b2o$367bo3$374bo$373b2o$373bobo3$371bo$370b2o$370bobo$378b3o$378bo$373b2o4bo$372b2o$374bo3$384b3o$384bo$385bo3$389b2o$389bobo$389bo2$403b2o$402b2o$404bo9$403b3o$403bo$404bo8$412b2o5bo$411b2o5b2o$413bo4bobo3$417b2o$417bobo$417bo7$431b2o$431bobo$431bo22$451bo$450b2o$450bobo!","b!","bbo$obo6bo$b2o4bobo$8b2o28$32bo$30bobo$31b2o17$55bobo$56b2o$56bo40$98bo$92bo6bo$93bo3b3o$91b3o2$104bobo$105b2o$105bo2$111bo$109bobo$110b2o4bobo$117b2o$117bo6$126bo$127bo$125b3o4$121bo$122b2o$121b2o6$123bobo$124b2o$124bo32$170bobo$171b2o$171bo7$172bo$173bo$171b3o4$183bo$184bo$182b3o9$191bobo$192b2o$192bo3$206bobo$207b2o$207bo4$200bo$201b2o$200b2o!",-240,-224]
E3 = ["b88$64b2o$65b2o$64bo38$20b2o$19bobo$21bo4$14bo3b3o$14b2o4bo$13bobo3bo8$b2o$obo$2bo5bo$8b2o$7bobo!","b85$95bo$94b2o$94bobo3$83b3o$83bo$84bo9b2o$93b2o$95bo9$109bo$108b2o$108bobo10$123bo$122b2o$122bobo6$128bo$127b2o$127bobo5$124b2o$124bobo$124bo2$129b2o$128b2o8b2o$130bo7bobo$138bo2$125b3o$125bo$126bo21b2o$147b2o$140b2o7bo$140bobo$140bo4$140b2o$139b2o$141bo!","b147bo4bo$146b2o3b2o$147b2o3b2o8$141bo$140bo$140b3o3$126bobo$122bo3b2o$121bo5bo$121b3o5$121bo$119b2o$120b2o28$90bo$88b2o$89b2o4bo$94bo$94b3o!","b!",-70,-74]
H1 = ["b93$77b2o$76bobo$78bo7$60b2o$61b2o13b2o4b3o$60bo16b2o5bo$76bo6bo$63b2o$62bobo$64bo2$72b3o$74bo$73bo$64b2o$63bobo$65bo7$67b3o$69bo$68bo$63bo$63b2o$62bobo7$38b2o$39b2o9b2o$38bo10bobo$51bo2$46b2o$45bobo$47bo3$45bo$39b2o4b2o$40b2o2bobo$35bo3bo$35b2o$34bobo4$36b2o$35bobo$37bo3$33b3o$35bo$34bo7$11b2o$12b2o$11bo$6b2o$5bobo$7bo6$3o$2bo$bo!","b103$118b3o$118bo$119bo2$115b2o$114b2o5b2o$116bo3b2o$122bo3bo$125b2o$125bobo$120b2o$119b2o$121bo3$120b3o$120bo$121bo6$138bo$137b2o$137bobo3$132b3o$132bo$133bo4$148b2o$148bobo$148bo8$164b3o$158bo5bo$157b2o6bo$157bobo9$164b3o$164bo$165bo5$163b3o10bo$163bo11b2o$164bo10bobo6$173bo$172b2o$172bobo!","b!","b10bo$9bobo$10b2o30$41bo$35bo6b2o$36b2o3b2o$35b2o9$63bo$61bobo$62b2o19$80bo$81bo$79b3o!",-101,-81]
H2 = ["","b15$4b2o$4bobo$4bo!","","",-3,-8]
G1 = ["b103$71b2o$72b2o$71bo6$72bo$72b2o$71bobo4$71b2o$70bobo$72bo7$51b2o$50bobo$52bo6$51b3o$53bo$52bo5$50b2o$32b2o17b2o$31bobo3bo12bo$33bo3b2o$36bobo15$28b3o$30bo$29bo6$26b2o$12b2o13b2o$13b2o11bo$12bo$3o$2bo$bo3$11b3o$13bo$12bo!","b101$105b2o$104b2o$106bo4$105b3o$105bo$106bo4$127bo$126b2o$126bobo7$124b2o$123b2o$125bo5$125b2o$125bobo$125bo7$148b2o$147b2o$149bo6$144b3o$144bo$145bo6$147b2o$146b2o$148bo20b2o$165bo3bobo$164b2o3bo$164bobo13$186b3o$174bo11bo$173b2o12bo$173bobo4$186bo$185b2o$185bobo!","b!","b!",-94,-80]
H3 = ["b24$b2o$obo$2bo2$4bo$4b2o$3bobo6$3b2o$4b2o$3bo!","","","bbobo$3b2o$3bo!",-23,-20]
I1 = ["b51$28b2o$29b2o$28bo$19b2o$18bobo$20bo2$27bo$27b2o$26bobo17$2o$b2o$o2$5b2o$4bobo$6bo!","b50$64b2o$63b2o$65bo2$48b2o5b2o$47b2o6bobo$49bo5bo2$51b2o$50b2o$52bo2$60b3o$60bo5bo3b3o$61bo3b2o3bo$65bobo3bo11$64b2o$63b2o$65bo!","b69bo$68b2o$69b2o8$67bobo$67b2o$68bo3$68bo$68bobo$68b2o!","",-36,-37]
I2 = ["b48$9b2o$8bobo$10bo5$6b3o$8bo10b2o$7bo10bobo$20bo2$24bo$24b2o$23bobo5$14b2o$13bobo$5b2o8bo$6b2o$5bo4$b2o$2b2o$bo!","b55$55b2o$55bobo$55bo11$80b3o$80bo$81bo2$83b3o$71b2o10bo$71bobo10bo$71bo!","","o$b2o$2o3$15bo$13bobo$14b2o2$11bo$9bobo$10b2o!",-42,-32]
G2 = ["b41$27b3o$29bo$28bo3$27bo$27b2o$26bobo$21b3o$23bo$22bo5$b2o3b2o12b2o$obo2bobo13b2o$2bo4bo12bo17$10b2o$11b2o$10bo!","b43$40b3o$40bo$41bo8$48b2o$47b2o$49bo6$38b3o$38bo$39bo3$64b2o$63b2o$65bo3$63b3o$63bo$64bo!","b!","b!",-32,-32]
H5 = ["b69$39bo$39b2o$38bobo9b3o$52bo$51bo2$46b3o$48bo$47bo3$40bo4b2o$40b2o4b2o$39bobo3bo$35b2o$36b2o$35bo4$36b3o$38bo$37bo2$34b2o$33bobo$35bo7$12bo$12b2o$11bobo2$6b3o$8bo$7bo5$b2o$obo$2bo!","b73$83b3o$83bo$84bo7$100b2o$100bobo$93b2o5bo$92b2o$94bo8$100b2o$100bobo$100bo5$99b2o$99bobo9b2o$99bo10b2o$112bo6$108b2o$107b2o$109bo!","b!","b10bo$12bo$10b3o31$41bobo$35bobo4b2o$36b2o4bo$36bo!",-66,-51]
I3 = ["b99$29b2o$28bobo$30bo14$16bo$16b2o$15bobo19$2o$b2o$o2$3b2o$2bobo$4bo!","b103$73bo$72b2o5b3o$72bobo4bo$80bo4$117b2o$90b2o24b2o$90bobo11b2o12bo$90bo13bobo$104bo$115b2o$115bobo$94b3o18bo$94bo$95bo17$134b2o$134bobo$134bo!","b117bo$117bo$117b3o13$112bo$112bobo$112b2o16$96bo13bobo$96bobo11b2o$96b2o13bo19$81bo$79b2o$80b2o!","b!",-59,-63]
J1 = ["b8$b2o$obo$2bo!","b6$9b2o$8b2o$10bo!","","",-4,0]
J2 = ["","b46$37bo$36b2o$36bobo4$49b2o$48b2o$50bo9$58bo$57b2o$57bobo!","b58bo$59bobo$59b2o3$57bo$56bo$56b3o12$58bo$57bo$57b3o3$40bo$39bo$39b3o2$37bo$35b2o$36b2o!","",-26,-44]
J3 = ["","b50$42b3o$42bo$43bo15$50bo$49b2o$49bobo!","b6$48bo$46b2o$47b2o!","o$b2o$2o!",-8,-35]
J4 = ["b6$b2o$obo$2bo!","b7$10b2o$9b2o$11bo!","","",-5,0]
#final step
F1 = ["","","b$71bobo$71b2o$61bobo8bo$61b2o$62bo14bo$77bobo$69bo7b2o$69bobo$69b2o$75bobo$75b2o$76bo$70bo$69bo$69b3o4$79bo$78bo$78b3o!","b18bo$7bobo7bobo$8b2o8b2o$8bo2$3bo$bobo$2b2o7bo5bo4bo$9bobo3bobo2bobo$10b2o4b2o3b2o$3bobo$4b2o$4bo$10bo$11bo$9b3o4$bo$2bo$3o!",-40,-40]
F2 = ["b34$43b3o$45bo$44bo7$37b3o$39bo$38bo3$35bo$35b2o$34bobo15$b2o$obo$2bo!","b36$60b2o$60bobo$60bo5$74b3o$74bo$75bo20$108b2o$108bobo$108bo!","","",-55,-10]
F3 = ["","b39$58b3o$58bo$59bo11$75b3o$75bo$76bo$55b2o$54b2o$56bo2$45bo$44b2o$44bobo6$57b2o$56b2o$58bo!","b56bo$55b2o$56b2o9$69bo$67b2o$68b2o$64bo$62b2o$63b2o!","",-28,-33]
F4 = ["","","b33bo$34bobo$34b2o2$30bobo$30b2o$31bo4$33bo$31b2o$32b2o!","",0,-33]
F5 = ["","b23$41bo$40b2o$40bobo17$71b2o$71bobo$71bo!","","",-21,-3]
def place_component(comp,x,y,delay,flip):
phase = -delay%4
n = (delay + phase) // 4
for i in range(4):
if flip == 0:
g.putcells(g.evolve(g.parse(comp[i]), phase), x+comp[4]+n*t[i][0], y+comp[5]+n*t[i][1],1,0,0,1)
else:
g.putcells(g.evolve(g.parse(comp[i+pow(-1,i)]), phase), x-comp[4]+n*t[i][0], y+comp[5]+n*t[i][1],-1,0,0,1)
def place_x(x,y,delay,times,flip):
for i in range(times):
place_component(X,x+3*i*(flip*2 - 1),y,delay+i*100,flip)
def place_y(x,y,delay,times,flip):
for i in range(times):
place_component(Y,x-3*i*(flip*2 - 1),y,delay+i*150,flip)
def section_1(depth,variant):
global d
place_component(A1,-12*depth,12*(depth-1),d,0)
d += 500
place_x(-12*depth,12*(depth-1),d,6+(depth-1)*8,1)
d += 600+(depth-1)*800
place_component(A2,12*depth,12*(depth-1),d,0)
d += 900
place_component(H4,12*depth,12*(depth-1),d,0)
d += 100
place_x(3+12*depth,2+12*(depth-1),d,8+(depth-1)*8,0)
d += 800+(depth-1)*800
place_component(A3,-12*depth,4+12*(depth-1),d,0)
d += 200
place_component(B1,-3-12*depth,4+12*(depth-1),d,0)
d += 200
place_component(B2,3+12*depth,4+12*(depth-1),d,1)
d += 200
place_component(B3,-3-12*depth,4+12*(depth-1),d,0)
d += 400
place_x(-6-12*depth,4+12*(depth-1),d,10+(depth-1)*8,1)
d += 1000+(depth-1)*800
place_component(B4,3+12*depth,6+12*(depth-1),d,0)
d += 400
place_component(C1,-6-12*depth,6+12*(depth-1),d,0)
d += 100
place_x(9+12*depth,6+12*(depth-1),d,12+(depth-1)*8,0)
d += 1200+(depth-1)*800
place_component(C2,-6-12*depth,8+12*(depth-1),d,0)
d += 200
place_component(C3,6+12*depth,8+12*(depth-1),d,0)
d += 300
place_component(C3,-6-12*depth,8+12*(depth-1),d,1)
d += 500
place_component(D1,9+12*depth,8+12*(depth-1),d,0)
d += 200
if variant:
place_component(D1,-9-12*depth,8+12*(depth-1),d,1)
d += 200
place_x(12+12*depth,8+12*(depth-1),d,6+(depth-1)*4,0)
d += 700+(depth-1)*400
place_x(-12-12*depth,8+12*(depth-1),d,6+(depth-1)*4,1)
d += 600+(depth-1)*400
else:
place_x(12+12*depth,8+12*(depth-1),d,13+(depth-1)*8,0)
d += 1300+(depth-1)*800
def section_2(depth):
global d
place_component(D2,-9-12*depth,8+12*(depth-1),d,0)
d += 300
place_component(E1,12+12*depth,10+12*(depth-1),d,0)
d += 200
place_x(15+12*depth,10+12*(depth-1),d,15+(depth-1)*8,0)
d += 1500+(depth-1)*800
place_component(E2,-9-12*depth,12+12*(depth-1),d,0)
d += 900
place_component(E3,15+12*depth,12+12*(depth-1),d,0)
d += 300
place_component(E3,-15-12*depth,12+12*(depth-1),d,1)
d += 300
def section_3(depth):
global d
place_component(A4,-12-12*depth,12*depth,d,0)
d += 400
place_x(-12-12*depth,12*depth,d,6+8*depth,1)
d += 600+800*depth
place_component(A2,12+12*depth,12*depth,d,0)
d += 800
place_component(H1,-12-12*depth,2+12*depth,d,0)
d += 700
place_x(15+12*depth,2+12*depth,d,3+4*depth,0)
d += 300+400*depth
place_x(-15-12*depth,2+12*depth,d,3+4*depth,1)
d += 300+400*depth
place_component(H2,-15-12*depth,4+12*depth,d,0)
d += 100
place_component(H2,15+12*depth,4+12*depth,d,1)
d += 100
place_y(-15-12*depth,4+12*depth,d,3+4*depth,0)
d += 600+800*depth
place_y(15+12*depth,4+12*depth,d,3+4*depth,1)
d += 600+800*depth
place_component(G1,0,2+12*depth,d,0)
d += 300
place_component(H3,-17-12*depth,4+12*depth,d,0)
place_component(H3,17+12*depth,4+12*depth,d,1)
d += 100
place_component(D1,-17-12*depth,4+12*depth,d,1)
d += 200
place_component(D1,17+12*depth,4+12*depth,d,0)
d += 200
place_x(-20-12*depth,4+12*depth,d,2+4*depth,1)
d += 200+400*depth
place_x(20+12*depth,4+12*depth,d,2+4*depth,0)
d += 200+400*depth
def section_4(depth,width,variant):
global d
global Goffset
place_component(I1,16+4*depth,2+4*depth,d,0)
d += 200
place_component(I1,-16-4*depth,2+4*depth,d,1)
d += 200
place_y(10+4*depth,2+4*depth,d,width,1)
d += 150*width
place_y(-10-4*depth,2+4*depth,d,width,0)
d += 150*width
if variant:
place_component(G1,0,4*depth,d,0)
d += 400
Goffset = 11
else:
place_component(G2,Goffset,2+4*depth,d,0)
d += 400
place_component(G2,-Goffset,2+4*depth,d,1)
d += 400
Goffset += 8
place_component(H5,-15-4*depth,4+4*depth,d,0)
d += 200
place_component(H5,15+4*depth,4+4*depth,d,1)
d += 300
place_x(-15-4*depth,2+4*depth,d,width-1,1)
d += (width-1)*100+16
place_x(15+4*depth,2+4*depth,d,width-1,0)
d += (width-1)*100+16
place_component(H2,-15-4*depth,4+4*depth,d,0)
d += 100
place_component(H2,15+4*depth,4+4*depth,d,1)
d += 100
place_y(15+4*depth,4+4*depth,d,width-1,1)
d += 150*(width-1)
place_y(-15-4*depth,4+4*depth,d,width-1,0)
d += 150*(width-1)
place_component(G2,Goffset,4+4*depth,d,0)
d += 400
place_component(G2,-Goffset,4+4*depth,d,1)
d += 400
Goffset += 8
place_component(H3,-17-4*depth,4+4*depth,d,0)
d += 100
place_component(H3,17+4*depth,4+4*depth,d,1)
d += 100
place_component(D1,-17-4*depth,4+4*depth,d,1)
d += 200
place_component(D1,17+4*depth,4+4*depth,d,0)
d += 200
place_x(-20-4*depth,4+4*depth,d,width-2,1)
d += (width-2)*100
place_x(20+4*depth,4+4*depth,d,width-2,0)
d += (width-2)*100
def section_5(depth):
global d
place_component(I1,20+8*depth,6+8*depth,d,0)
d += 200
place_component(I1,-20-8*depth,6+8*depth,d,1)
d += 200
place_component(G2,11+8*depth,6+8*depth,d,0)
d += 400
place_component(G2,-11-8*depth,6+8*depth,d,1)
d += 400
place_component(I2,19+8*depth,8+8*depth,d,1)
d += 200
place_component(I2,-19-8*depth,8+8*depth,d,0)
d += 200
d += depth*8
for i in range(depth+2):
place_component(J1,3+8*i,7+6*depth+2*i,d,0)
d += 50
place_component(J1,-3-8*i,+7+6*depth+2*i,d,1)
d += 50
d += depth*8
place_component(J2,15,-11,d,0)
d += 100
place_component(J2,-15,-11,d,1)
d += 100
for i in range(2*(depth+1)):
place_component(J3,14+4*i,-4+4*i,d,0)
d += 50
place_component(J3,-14-4*i,-4+4*i,d,1)
d += 50
d += 50+depth*40
for i in range(depth+1):
place_component(J3,18+8*i,-7+8*i,d,0)
d += 60
place_component(J3,-18-8*i,-7+8*i,d,1)
d += 60
place_component(I3,22+8*depth,11+8*depth,d,0)
d += 350
place_component(I3,-22-8*depth,11+8*depth,d,1)
d += 350
d += depth*8
for i in range(depth+1):
place_component(J4,12+8*i,14+6*depth+2*i,d,0)
d += 50
place_component(J4,-12-8*i,14+6*depth+2*i,d,1)
d += 50
d += depth*8
#final step
place_component(F1,0,-14,d,0)
place_component(F2,0,2+6*depth,d,0)
place_component(F3,22+8*depth,11+8*depth,d,0)
place_component(F3,-22-8*depth,11+8*depth,d,1)
for i in range(depth+1):
place_component(F4,14+8*i,-4+8*i,d,0)
place_component(F4,-14-8*i,-4+8*i,d,1)
place_component(F5,11+8*i,20+6*depth+2*i,d,0)
place_component(F5,-11-8*i,20+6*depth+2*i,d,1)
def show_progress(c,n):
g.show("Roughly " + str(100*c//n) + "% complete")
def synthesise_greyship(n):
count = 0
for i in range((n-2)//2):
show_progress(count,n)
section_1(i+1,False)
section_2(i+1)
count += 1
show_progress(count,n)
if n%2 == 1:
section_1(n//2,True)
else:
section_3((n-1)//2)
count += 1
for i in range((n-1)//2):
show_progress(count,n)
if n%2 == 1:
if i == 0:
section_4((n//2)*3-1+i,(n-1)*2-4*i,True)
else:
section_4((n//2)*3-1+i,(n-1)*2-4*i,False)
else:
section_4((n//2)*3-2+i,2*n-4-4*i,False)
count += 1
show_progress(count,n)
section_5(n-2)
g.show("100% complete")
answer = g.getstring("Please enter a positive integer greater than 2.\n\nThe larger the number you input, the larger the greyship this script will construct a synthesis for.","4",'Greyship "Size"')
if answer.isdigit() == False or int(answer) == 0:
g.exit("Please enter a positive integer greater than 2")
elif int(answer) == 1:
webbrowser.open_new("https://catagolue.hatsya.com/object/xq4_yao211vxv112ozyc8obxbo8zy9gokmlllllllmkogzo88gy0g8cabaaaaaaaaaaaaaaabac8gy0g88ozfgw2oe555d5d1d11131313111d1d5d555eo2wgfzx267yp762/b3s23")
elif int(answer) == 2:
webbrowser.open_new("https://catagolue.hatsya.com/object/xq4_0ggos3woyzow3soggzonvf0126qaaabab8b888c8c0cxgxc0c8c888b8babaaaq6210fvnoz01y431d5lllllllllllllllllllllllllllll5d13y41zya1062qaaaaaaaaaaaaaaaaaaaq2601zyg31d5lllllllll5d13zykhq2a2a2qhzyjuvfgxgfvuzyk131x131/b3s23")
else:
g.new("greyship synthesis")
g.setalgo("HashLife")
g.setstep(3)
g.putcells(g.parse("3059bo4bo$3059bobo2bobo$3059b2o3b2o8$3054bo$3052b2o$3053b2o2$3039bo$3038bo$3035bo2b3o$3033b2o$3034b2o5$3032bo$3032bobo$3032b2o26$8bo4bo$9b2o3b2o$8b2o3b2o2986bo$3001bobo$3001b2o5bo$3006b2o$3007b2o4$20bo$21bo$19b3o3$33bobo$34b2o3bo$34bo5bo$38b3o5$40bo$41b2o$40b2o28$71bo$72b2o$66bo4b2o2823bobo$67bo2828b2o$65b3o2829bo8$89bo$90b2o$89b2o19$95bo$93bobo6bo$94b2o4bobo$101b2o28$125bo$123bobo$124b2o6$139bo$140b2o55bo$139b2o57bo$196b3o3$143bobo$144b2o$144bo4$2860bo$2860bobo$2860b2o41$193bo$187bo6bo$188bo3b3o$186b3o2$199bobo$200b2o$200bo2$206bo$204bobo$205b2o4bobo$212b2o$212bo6$221bo$222bo$220b3o4$216bo$217b2o$216b2o6$218bobo$219b2o$219bo34$269bo$267bobo$268b2o8$268bobo$269b2o$269bo5$279bobo$280b2o$271bo8bo$272b2o$271b2o9$292bobo$293b2o$293bo3$307bobo$308b2o$308bo4$301bo$302b2o$301b2o181$2534bo$2534bobo$2522bo11b2o$2522bobo$2522b2o2$2509bo$2509bobo$2509b2o6$2506bo$2500bo4bo$2500bobo2b3o$2500b2o3$2509bobo$2501bobo5b2o$2501b2o7bo$2502bo16$2487bo$2485b2o$2486b2o3$2483bo$2481b2o$2482b2o6$2469bo$2468bo$2464bo3b3o$2463bo$2463b3o85$2368bo9bo$2367bo10bobo$2367b3o8b2o7$2383bobo$2383b2o$2384bo2$2388bo$2387bo$2387b3o54$723bo$704bo16bobo$702bobo17b2o$703b2o10$715bobo$716b2o$716bo11$730bo$731b2o$730b2o$738bo$736bobo$737b2o7$746bo$744bobo$745b2o6$760bobo$761b2o$761bo8$760bo$758bobo$759b2o8$769bo3bo$770bo3b2o$768b3o2b2o8$779bo$777bobo$778b2o2$781bo$782bo$780b3o4bobo$788b2o$788bo5$2217bo$802bo1413bo$803b2o1411b3o$802b2o6$809bo$807bobo$808b2o9$811bo$812bo$810b3o$818bo$819bo$817b3o56$886bo$887bo$885b3o30$2116bobo$2116b2o$2117bo8$2102bo5bo$2102bobob2o$2102b2o3b2o8$2097bobo$2097b2o$2098bo2$2096bo$2088bo5b2o$2087bo7b2o$2087b3o5$2075bo$2075bobo$2075b2o34$980bo$974bo6b2o$975b2o3b2o$974b2o4$2034bobo$2034b2o$2035bo4$2030bo$2028b2o$2029b2o4$2031bobo$2031b2o$2032bo9$2006bo$2006bobo$2006b2o3$1063bo935bobo$1061bobo935b2o$1062b2o936bo2$1997bo$1995b2o$1996b2o4$1998bo$1998bobo$1998b2o30$1071bo$1072b2o$1071b2o7$1074bobo3bo$1075b2o4b2o$1075bo4b2o3$1072bo$1070bobo7bo$1071b2o5bobo$1079b2o9$1083bo$1084b2o$1083b2o28$1111bobo$1105bobo4b2o$1106b2o4bo$1106bo8$1130bo$1131bo$1129b3o751bo$1883bobo$1883b2o4$1879bo$1132bobo742b2o$1133b2o743b2o$1133bo18$1869bo$1867b2o$1868b2o18$1174bo$1175bo$1173b3o5$1188bobo$1189b2o$1189bo644bo$1195bo637bo$1196bo636b3o$1183bobo8b3o$1184b2o$1184bo647bo$1830b2o$1831b2o$1197bo$1198b2o621bobo$1197b2o6bo615b2o$1206b2o614bo$1205b2o2$1202bo$1200bobo$1201b2o607bo$1809bo$1809b3o$1821bo$1815bo5bobo$1813b2o6b2o$1814b2o6$1212bo$1213b2o$1212b2o4$1803bo$1802bo$1802b3o3$1229bo563bo$1230b2o559b2o$1229b2o561b2o45$1747bo$1745b2o$1746b2o8$1736bo$1734b2o$1735b2o8$1719bobo$1719b2o$1720bo5$1717bo$1715b2o$1716b2o4$1309bo$1307bobo$1308b2o400bo$1315bobo390b2o$1316b2o391b2o$1316bo2$1705bo$1317bobo384bo$1318b2o384b3o$1318bo18$1690bo$1690bobo$1690b2o5$1642bo3bobo$1641bo4b2o$1641b3o3bo$1364bo$1349bobo13bo$1350b2o11b3o14bo273bobo$1350bo30b2o271b2o$1380b2o273bo$1357bo26bobo$1355bobo27b2o$1356b2o27bo2$1628bo$1627bo32bobo$1627b3o30b2o$1661bo$1371bobo$1372b2o$1372bo257bo$1630bobo$1370bo259b2o$1371bo$1369b3o$1403bobo$1404b2o$1404bo$1639bo9bo$1639bobo7bobo$1401bo237b2o8b2o$1402b2o$1401b2o$1641bobo$1641b2o$1642bo6$1394bo$1392bobo$1393b2o3$1623bobo$1623b2o$1624bo31$1427bobo163bobo$1428b2o163b2o$1428bo165bo$1442bobo133bobo$1443b2o133b2o$1427bo15bo135bo15bo$1425bobo167bobo$1426b2o167b2o2$1454bobo$1455b2o$1455bo2$1457bobo$1458b2o$1458bo6$1433bo155bo$1434b2o151b2o$1433b2o153b2o94$1454b3o$1456bo$1455bo5$1429bo163bo$1429b2o161b2o$1428bobo161bobo2$1437b3o143b3o$1439bo143bo$1438bo145bo11$1574bo$1573b2o$1573bobo2$1449bo$1429b3o17b2o140b3o$1431bo16bobo140bo$1430bo161bo5$1425b2o169b2o$1426b2o167b2o$1425bo171bo8$1424b3o169b3o$1426bo169bo$1425bo171bo$1429bo$1429b2o165bo$1428bobo164b2o$1595bobo5$1595b2o$1594b2o$1596bo3$1617bo$1616b2o$1616bobo$1416b2o204b2o$1417b2o202b2o$1400b2o14bo206bo$1399bobo$1401bo$1394b3o212b3o$1396bo212bo$1395bo214bo4$1637b3o$1637bo$1638bo2$1398b3o$1400bo$1399bo4$1373b2o$1374b2o$1373bo2$1633b2o$1632b2o$1634bo3$1378b3o264b2o$1380bo263b2o$1372b3o4bo266bo$1374bo274b2o$1373bo266b2o6b2o$1639b2o9bo$1641bo4$1375bo$1375b2o$1374bobo3$1651b2o$1651bobo$1651bo16$1673b2o$1673bobo$1673bo$1677b2o$1677bobo$1677bo9$1681b3o$1681bo$1326b2o354bo$1327b2o$1326bo8bo$1335b2o$1334bobo$1317b2o380b3o$1316bobo380bo$1318bo381bo$1331b3o$1333bo$1332bo370b3o$1703bo$1704bo3b2o$1708bobo$1708bo$1718b2o$1718bobo$1718bo$1319b2o$1320b2o$1319bo4$1320b2o395b3o$1315b2o4b2o394bo$1314bobo3bo397bo$1316bo3$1312b2o408b2o$1313b2o407bobo$1312bo409bo5$1733b3o$1733bo6b3o$1734bo5bo$1301bo439bo$1301b2o$1300bobo3$1734b3o$1734bo$1735bo$1290bo$1290b2o$1289bobo7$1748b2o$1748bobo$1748bo$1268bo$1268b2o465b3o$1267bobo465bo$1736bo12bo$1748b2o$1748bobo$1262b3o496bo$1264bo495b2o$1263bo496bobo3$1274b2o$1275b2o$1274bo2$1271b2o$1272b2o$1271bo5$1761bo$1237b2o521b2o$1238b2o520bobo$1237bo3$1242b2o$1243b2o$1242bo2$1246bo$1239b2o5b2o534bo$1238bobo4bobo533b2o$1240bo9b2o529bobo$1249bobo$1227bo23bo543bo$1227b2o6b2o4bo552b2o$1226bobo7b2o3b2o551bobo$1235bo4bobo$1783b2o$1783bobo$1234b2o547bo$1233bobo552b2o$1235bo552bobo$1788bo$1226b2o567b2o8b3o$1225bobo556b2o9bobo2b2o3bo$1227bo556bobo8bo4bobo3bo$1784bo15bo3$1209b2o$1210b2o3bo$1209bo5b2o$1214bobo595b2o$1812bobo$1812bo2$1820b2o$1820bobo$1203bo616bo$1203b2o627b3o$1202bobo627bo$1833bo$1194b2o$1195b2o$1194bo3$1192b3o$1188bo5bo$1188b2o3bo$1187bobo644b3o$1834bo$1192b2o641bo$1193b2o$1192bo646b2o$1838b2o$1818b2o20bo$1817b2o$1819bo3$1818b2o$1194b2o622bobo$1193bobo622bo$1195bo2$1183b3o$1185bo$1184bo645b3o$1195b2o633bo$1194bobo634bo$1183bo12bo$1172bo10b2o664b2o$1172b2o8bobo664bobo$1171bobo675bo2$1183b2o$1182bobo$1184bo3$1183bo$1183b2o663bo$1182bobo662b2o30b3o$1847bobo29bo$1880bo$1858b2o$1857b2o$1170b2o687bo$1171b2o674bo40b2o$1170bo675b2o39b2o$1846bobo40bo$1858b3o$1858bo10b3o$1859bo9bo$1870bo9b2o$1879b2o7b2o$1164bo716bo6bobo$1164b2o722bo$1163bobo2$1886b2o$1886bobo$1128b2o756bo$1127bobo13b2o11b3o$1129bo12bobo13bo$1144bo12bo$1138b2o$1137bobo720bo$1139bo719b2o$1859bobo13bo$1874b2o$1874bobo2$1144bo$1144b2o$1143bobo$1133b2o$1132bobo$1134bo4$1126b3o760bo$1128bo759b2o$1127bo755b3o2bobo$1883bo$1884bo$1126bo$1109bo16b2o$1109b2o14bobo$1108bobo9b3o$1122bo$1121bo769b3o$1891bo$1116b3o773bo$1118bo$1117bo2$1909b2o$1110bo4b2o792bobo$1110b2o4b2o791bo$1109bobo3bo2$1901b2o$1900b2o$1108b3o791bo$1110bo$1109bo2$1107bo$1107b2o797bo$1106bobo796b2o$1905bobo3$1079b3o$1081bo$1072b2o6bo824bo$1071bobo830b2o10b2o$1073bo10b3o817bobo9bobo$1086bo829bo$1085bo$1057b2o$1058b2o$1057bo30b2o3b3o$1069bo17bobo5bo$1069b2o18bo4bo841b2o$1068bobo864b2o$1928b3o6bo$1928bo$1929bo2$1085b3o$1087bo$1086bo2$1083b2o$1082bobo850b2o$1084bo850bobo$1935bo5$1934b2o$1934bobo$1069bo4b2o858bo$1069b2o4b2o$1068bobo3bo886b2o$1961bobo$1954b2o5bo$1953b2o$1955bo2$1066b2o$1067b2o$1066bo2$1064bo$1064b2o895bo$1063bobo894b2o$1960bobo5$1960bo$1054b3o902b2o32bo$1056bo902bobo30b2o$1055bo936bobo2$1050bo$1050b2o$1049bobo2$1990b3o4b2o4bo$1990bo5b2o4b2o$1991bo6bo3bobo2$1041b3o$1043bo$1042bo3$1041b2o$1042b2o945b2o$1041bo946b2o$1990bo$2000bo$1999b2o$1029bo969bobo$1029b2o$1028bobo957b2o$1987b2o$1989bo10b2o$2000bobo9bo$2000bo10b2o$2011bobo$2003b2o$1023b2o978bobo$1022bobo978bo$1024bo3$1021b2o$1020bobo$1022bo2$2038b3o$1017b3o1018bo$1019bo1019bo$1018bo3$2034b3o$2034bo$2035bo$2029b2o$999bo1029bobo9bo$977b2o20b2o1028bo10b2o$978b2o18bobo1039bobo$977bo11b2o$988bobo$990bo1032b2o$2023bobo$985b2o1036bo$984bobo$986bo$2033b2o$2033bobo2b3o$986bo1046bo4bo$986b2o1051bo$985bobo5b2o$992bobo$994bo2$2041b2o$2041bobo$2041bo$989b2o1061b3o$990b2o1060bo$989bo1063bo12$972b2o$973b2o$972bo$2092b2o$2091b2o$970b3o1120bo$972bo$971bo$2084bo$2083b2o$2083bobo6b2o$2091b2o$2093bo4$954b3o$956bo$955bo13$2101b2o$2100b2o$2102bo2$939b3o$941bo$940bo5$2114bo$2113b2o$2113bobo6$2106b3o$2106bo$2107bo3$884b2o1231b2o$883bobo1230b2o$885bo1232bo3$917b2o$916bobo1200b2o$918bo1200bobo$2119bo5$2118b2o$2118bobo$2118bo$2126b2o$2126bobo2b3o$887bo1238bo4bo$887b2o1243bo$886bobo5b2o$893bobo$895bo2$2134b2o$2134bobo$2134bo3$2136b3o$887b3o1246bo$889bo1247bo$888bo5$888b3o$890bo1255bo$889bo1255b2o4b2o$2145bobo2b2o$861b3o1288bo$863bo5bo$862bo6b2o$868bobo2$2154bo$2153b2o$2153bobo3$2156b2o$862b2o1291b2o$863b2o1292bo$862bo5$863b2o$864b2o$863bo1300b3o3b2o$2164bo5bobo$836b2o1327bo4bo$837b2o$836bo6b3o$845bo$844bo2$2172b3o$2172bo$2173bo2$2175b2o$837b2o1336bobo35b3o$836bobo1336bo37bo$838bo1375bo2$2216b2o$2216bobo$821b2o1362b2o29bo$820bobo15b2o1344b2o$822bo14bobo1346bo$839bo2$818b2o$812b2o5b2o1374bo$811bobo4bo1375b2o$813bo1380bobo$801b3o$803bo$802bo3$783b3o$785bo1411bo$784bo1411b2o$2196bobo2$792b2o$791bobo$783b3o7bo$785bo$784bo3$2213bo$2212b2o$2212bobo9$764bo$764b2o$763bobo3$774b3o$776bo$775bo$2228bo$2227b2o$2227bobo2$754b2o$755b2o$754bo2$762b2o$761bobo$763bo4$747b3o$749bo19bo$748bo20b2o$768bobo4$758b3o$760bo$759bo2$732b2o$733b2o1515b2o$732bo23b2o1491b2o$757b2o1492bo$737bo18bo$737b2o$736bobo2$742b2o$720b3o20b2o12b2o1506b2o$722bo19bo15b2o1504b2o$721bo24b3o8bo1508bo$748bo$747bo2$732b2o1534bo$733b2o1532b2o$732bo1534bobo3$735b3o$737bo$736bo5$712b2o1561b2o$713b2o1559b2o$712bo1563bo15$2287b2o$2287bobo$2287bo4$702bo4b2o$702b2o4b2o$701bobo3bo1602b2o$2310bobo$2303b2o5bo$2302b2o$2304bo2$699b2o$700b2o$699bo2$697bo$697b2o1611bo$696bobo1610b2o$2309bobo5$2309bo$2308b2o$688b2o1618bobo$682b3o2bobo$684bo4bo1646bo$683bo1651b2o$2328b2o5bobo$2328bobo38b2o$2328bo40bobo$2369bo$680b2o$679bobo$681bo3$677b3o$679bo1654b3o$678bo1655bo$2335bo5$2333b3o$669bo1663bo$663b2o4b2o1663bo$664b2o2bobo$663bo1696b3o$2354bo5bo$2353b2o6bo$2353bobo22b2o$2378bobo$2378bo2$2383b2o$658b3o1722bobo$660bo1722bo$659bo2$656b2o$655bobo1704b2o$657bo1704bobo$2362bo5$2361b2o$2361bobo$642bo4b2o1712bo$642b2o4b2o$641bobo3bo1740b2o$2388bobo$2381b2o5bo$2380b2o$2382bo4$637b2o$636bobo$638bo3$634b3o$636bo1752b3o$635bo1753bo$2390bo5$2388b3o$626bo1761bo$620b2o4b2o1761bo$621b2o2bobo$620bo1794b3o$2409bo5bo$2408b2o6bo$2408bobo5$615b3o$617bo$616bo2$613b2o$612bobo1802b2o$614bo1802bobo$2417bo5$2416b2o$2416bobo$599bo4b2o1810bo$599b2o4b2o$598bobo3bo1838b2o$2443bobo$2436b2o5bo$2435b2o$2437bo4$594b2o$593bobo1869b3o$595bo1869bo$2466bo2$591b3o$593bo1850b3o$592bo1851bo$2445bo16b2o$2461b2o$2463bo2$582b2o$583b2o1858b3o$582bo1860bo$2444bo2$582b2o$581bobo1876b2o$583bo1876bobo$2460bo19b3o6bo$2480bo7b2o$2481bo6bobo2$572b2o$573b2o1884b2o$572bo1886bobo$2459bo$568b3o1907bo$570bo1906b2o$569bo1907bobo2$2486b2o2b3o$2485b2o3bo$2487bo3bo$560b3o$562bo$561bo1930b3o$2492bo8b2o$2493bo6b2o$2502bo6bo$2508b2o$2508bobo3$2523b2o$2523bobo$2523bo2$2511b3o$2511bo$2512bo4$2524b2o$2523b2o$2525bo2$2521b2o$2521bobo$2521bo5$530bo$530b2o1990bo$529bobo1989b2o$534b2o1985bobo$533bobo$535bo$524b2o1998b3o$523bobo1998bo$525bo1999bo2$2522bo$2521b2o$2521bobo3$524b2o$523bobo$525bo4$2530b2o4bo$2529b2o4b2o$501b2o2028bo3bobo$500bobo$502bo5b2o$509b2o$508bo4$2540b2o$2540bobo$2540bo3$2542b3o$499b3o2040bo$501bo2041bo$500bo5$500b3o$502bo2049bo$501bo2049b2o4b2o$2551bobo2b2o$473b3o2082bo$475bo5bo$474bo6b2o$480bobo5$2561b3o$2561bo$2562bo2$2564b2o$472b2o2090bobo$471bobo2090bo$473bo5$473b2o$472bobo$474bo2098b2o4bo$2572b2o4b2o$446b2o2126bo3bobo$445bobo$447bo5b2o$454b2o$453bo4$2583b2o$2583bobo$2583bo3$2585b3o$444b3o2138bo$446bo2139bo$445bo5$445b3o$447bo2147bo$446bo2147b2o4b2o$2594bobo2b2o$418b3o2180bo$420bo5bo$419bo6b2o$425bobo5$2604b3o$2604bo$2605bo2$2607b2o$417b2o2188bobo$416bobo2188bo$418bo5$418b2o$417bobo$419bo2196b2o4bo$2615b2o4b2o$391b2o2224bo3bobo$390bobo$392bo5b2o$399b2o$398bo4$2626b2o$2626bobo$2626bo3$2628b3o$389b3o2236bo$391bo2237bo$390bo5$390b3o$392bo2245bo$391bo2245b2o4b2o$2637bobo2b2o$363b3o2278bo$365bo5bo$364bo6b2o$370bobo5$2647b3o$2647bo$2648bo2$2650b2o$362b2o2286bobo$361bobo2286bo$363bo5$363b2o$362bobo$364bo2294b2o4bo$2658b2o4b2o$336b2o2322bo3bobo$335bobo$337bo5b2o$344b2o$343bo4$2669b2o$2669bobo$306b2o2361bo$305bobo$307bo$2671b3o$309bo24b3o2334bo$309b2o25bo2335bo$308bobo24bo5$335b3o$337bo2344b3o$308b3o25bo2345bo$310bo2368bo3bo$309bo2368b2o$2678bobo7$296b2o$295bobo$297bo$303b2o$302bobo$304bo$291bo$291b2o$290bobo2$275b2o$276b2o2426b2o$275bo2428bobo$2704bo7$2708b2o$2707b2o$271b2o2436bo$272b2o2b2o$271bo3bobo9b2o2429b2o$277bo8bobo2428b2o$288bo2420b2o8bo$2708b2o$2710bo11$268b2o$267bobo$269bo$263b3o2465b2o$265bo2465bobo$264bo2466bo5$2744b3o$259b2o2483bo$258bobo2484bo$260bo3$2738b2o$2737b2o$2739bo2$239b2o$231b2o7b2o$230bobo6bo13b2o$232bo21b2o$222b2o29bo2500b2o$221bobo2530bobo$223bo2530bo9$2755b2o$2755bobo$2755bo$209b2o$197b3o4b2o2bobo2562bo$199bo5b2o3bo2561b2o$198bo5bo13b2o5b2o2545bobo$219b2o5b2o$218bo6bo5$199b2o$200b2o$199bo12$189b3o$191bo9b2o$190bo11b2o$201bo2593b2o$2794b2o$197b2o2597bo$198b2o$197bo$192b3o$194bo$193bo2595b3o$2789bo$2790bo3$2869b2o$2869bobo$195b2o2672bo$196b2o$195bo2661b2o$2857bobo$2857bo$2816bo$2815b2o$176b3o2636bobo41b3o$178bo2680bo$177bo2682bo$180b3o$182bo$176b2o3bo2686b2o$175bobo2642b3o45bobo$177bo2642bo47bo$2821bo3$2825b2o$2825bobo$2825bo2$161b2o2676b2o$160bobo2675b2o$162bo2677bo9$145b2o2692b3o$144bobo2692bo$146bo2693bo2$141b2o2704bo$140bobo2703b2o$142bo2703bobo4$132b3o2713b2o$134bo2713bobo$133bo2714bo$125bo$125b2o$124bobo4$2862b2o$2862bobo$2862bo5$121b3o$123bo$122bo9$80b2o$81b2o17b2o$80bo18bobo$101bo$92b2o10b2o$93b2o10b2o$92bo11bo2777bo$2881b2o$90bo2790bobo$90b2o$89bobo4$81b2o$82b2o$81bo14$66bo$66b2o$65bobo$2906b2o$2905b2o$76b3o2828bo$78bo$66b2o9bo$67b2o$66bo9$52bo$52b2o$51bobo10$38bo$38b2o$37bobo6$33bo$33b2o$32bobo3$2950b2o$2950bobo$36b2o2912bo$35bobo$37bo2$31b2o2918b3o3bo$22b2o8b2o2917bo4b2o$21bobo7bo2920bo3bobo$23bo2982b3o$3006bo$34b3o27b2o2941bo$36bo26bobo$12b2o21bo29bo2930b2o$13b2o2980b2o$12bo7b2o2975bo8b2o$19bobo2947b2o35bobo$21bo2947bobo34bo$2963bo5bo$2962b2o$2962bobo$20b2o$21b2o$20bo4$3020b3o$3020bo$3021bo10$3034b3o$3034bo$3035bo6$3039b3o$3039bo$3040bo2$20bo$20b2o$19bobo3015bo$3036b2o$3036bobo2$18b2o3021b2o$13b3o3b2o3020bobo7bo$15bo2bo3022bo8b2o$14bo3035bobo2$3038b2o$3037b2o$3039bo20b2o$3060bobo$3053bo6bo$bo3050b2o$b2o3049bobo$obo$7b3o$9bo$8bo3043b2o$3052bobo$3052bo!"),-1511,-1530)
synthesise_greyship(int(answer))
The script constructs a somewhat compressed recipe for the greyship with "size" matching the input number. It's possible to improve the compression slightly by reducing some of the numbers in the lines that start with "d +=", but I don't think that's particularly important. Here's what the script outputs when given the input of 3 (unfortunately it's too big to run in LifeViewer).