Thread for basic questions

For general discussion about Conway's Game of Life.
John Goodman
Posts: 32
Joined: December 13th, 2019, 10:00 am

Re: Thread for basic questions

Post by John Goodman » January 3rd, 2020, 1:06 pm

From the Catagolue statistics page, it is evident that the mean number of objects produced by a random 16x16 soup is 21.84498. But I would like to know the distribution -- for example, what fraction of soups evolve to a single object? What is the most common final object count?

Is this data available anywhere? Or can apgsearch be hacked to generate it? And how are infinite growth soups counted for the purposes of the census? I guess the 'yl' object is counted as one, but what about other prior objects in the ash that are unrelated?

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

Re: Thread for basic questions

Post by dvgrn » January 3rd, 2020, 1:57 pm

John Goodman wrote:
January 3rd, 2020, 1:06 pm
... what fraction of soups evolve to a single object? What is the most common final object count?

Is this data available anywhere? Or can apgsearch be hacked to generate it?
That's certainly doable. I'd recommend starting with the old Python-based apgsearch 1.x, and maybe just disable all the code that talks to Catagolue. The first thing to do will be to set sqrtspp_optimal = 1 instead of 10 in line 2661, and in line 2686 just say sqrtspp = sqrtspp_optimal. This will slow things down by about a factor of four, but otherwise you can't get individual soup censuses -- as a rule you'd only get summed censuses for sets of 100 soups.

-- Come to think of it, you *could* leave that Catagolue reporting code in place. As far as I can see, you won't be doing anything to invalidate the search, so you could just as well test some new soups and upload their censuses while you're generating your data.

To me it would make sense to only calculate object-count statistics on soups that do not generate infinite growth. If I remember right, that's basically what Catagolue does in its statistical summaries, to avoid skewing the stats toward the common ash objects that show up in GPSE debris.

Even with the old slow Python script, made even slower by the one-soup-at-a-time processing, it shouldn't take a terribly long run to get a few digits of precision for the percentages for each object count up to 100 or so. Up to 1000 or 10000 or whatever will take longer, but I bet you'll be able to extrapolate very reliably after a while, from the fairly smooth curve you'll get for the lower numbers. Zero is also a valid object count, by the way -- apgsearch has started paying some attention to those, but only the long-lived ones (in the "messless" category).

Do you need more pointers to get started on hacking apgsearch? I really don't know any more than I've said already, but you'll just need to add an extra objcountdict dictionary in there somewhere, add one to objcountdict[n] every time an n-object soup shows up, collect whatever other statistics you want, and report them all to a text file at the end of the run.

John Goodman
Posts: 32
Joined: December 13th, 2019, 10:00 am

Re: Thread for basic questions

Post by John Goodman » January 3rd, 2020, 2:07 pm

Thanks dvgrn. I had actually looked through apgsearch-2015-05.25.py but was a bit intimidated as I don't know Python at all. However, I'll give it a shot and may actually know a little if I finish!

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

Re: Thread for basic questions

Post by dvgrn » January 3rd, 2020, 3:18 pm

John Goodman wrote:
January 3rd, 2020, 2:07 pm
Thanks dvgrn. I had actually looked through apgsearch-2015-05.25.py but was a bit intimidated as I don't know Python at all. However, I'll give it a shot and may actually know a little if I finish!
Sounds like you may have some "basic questions" as you go along! Feel free to post them here if so -- or move the discussion over to a new thread, or maybe the Hacking apgsearch thread.

User avatar
pcallahan
Posts: 845
Joined: April 26th, 2013, 1:04 pm

Re: Thread for basic questions

Post by pcallahan » January 3rd, 2020, 5:36 pm

pcallahan wrote:
January 2nd, 2020, 3:09 pm
the a/b pattern forces horizontal stripes and the c/d pattern forces conflicting vertical stripes. So any perceived aperiodicity is the union of striped patterns.
I think I finally have this nailed down, though I don't have a formal proof. Every still life composed of 4-cell neighborhoods is a union of patterns that are either periodic horizontally or vertically. To construct such a still life, start with the local neighborhood:

Code: Select all

a b c
d e f
g h i
Partition these cell variables into subsets that lie on the same row or column. For cells on the same row (column), impose a horizontal (vertical) periodicity constraint. E.g. a horizontal (vertical) periodicity constraint on a is that it equals its neighbor 3 cells to the right (below it).

Each subset should also add up to a fixed sum, and the total needs to be 4. So for instance, we may have:

Code: Select all

a + b = 1 (a and b are horizontally periodic)
d + e = 1 (d and e are horizontally periodic)
c + f + i = 2 (c, f, and i are vertically periodic)
g + h = 0 (so both are always 0 and periodic by definition)
Using the above, we can construct a 4-cell still-life patch like this. It is not horizontally or vertically periodic.

Code: Select all

x = 54, y = 54, rule = Life
b2ob2obo2b2ob2ob2obo2b2obo2b2ob2ob2ob2ob2ob2obo2b2ob2o$b2obo2b2ob2obo
2bo2b2ob2ob2ob2ob2ob2obo2b2ob2ob2ob2obo$5bo2bo5bo2bo2bo5bo11bo8bo5bo$b
2ob2obo2b2ob2ob2obo2b2obo2b2ob2ob2ob2ob2ob2obo2b2ob2o$b2obo2b2ob2obo2b
o2b2ob2ob2ob2ob2ob2obo2b2ob2ob2ob2obo$5bo2bo5bo2bo2bo5bo11bo8bo5bo$ob
2ob2o2bob2ob2ob2o2bob2o2bob2ob2ob2ob2ob2ob2o2bob2obo$b2obo2b2ob2obo2bo
2b2ob2ob2ob2ob2ob2obo2b2ob2ob2ob2obo$5bo2bo5bo2bo2bo5bo11bo8bo5bo$ob2o
b2o2bob2ob2ob2o2bob2o2bob2ob2ob2ob2ob2ob2o2bob2obo$b2obo2b2ob2obo2bo2b
2ob2ob2ob2ob2ob2obo2b2ob2ob2ob2obo$5bo2bo5bo2bo2bo5bo11bo8bo5bo$b2ob2o
bo2b2ob2ob2obo2b2obo2b2ob2ob2ob2ob2ob2obo2b2ob2o$ob2o2bob2ob2o2bo2bob
2ob2ob2ob2ob2ob2o2bob2ob2ob2ob2o$5bo2bo5bo2bo2bo5bo11bo8bo5bo$b2ob2obo
2b2ob2ob2obo2b2obo2b2ob2ob2ob2ob2ob2obo2b2ob2o$b2obo2b2ob2obo2bo2b2ob
2ob2ob2ob2ob2obo2b2ob2ob2ob2obo$5bo2bo5bo2bo2bo5bo11bo8bo5bo$b2ob2obo
2b2ob2ob2obo2b2obo2b2ob2ob2ob2ob2ob2obo2b2ob2o$ob2o2bob2ob2o2bo2bob2ob
2ob2ob2ob2ob2o2bob2ob2ob2ob2o$5bo2bo5bo2bo2bo5bo11bo8bo5bo$b2ob2obo2b
2ob2ob2obo2b2obo2b2ob2ob2ob2ob2ob2obo2b2ob2o$b2obo2b2ob2obo2bo2b2ob2ob
2ob2ob2ob2obo2b2ob2ob2ob2obo$5bo2bo5bo2bo2bo5bo11bo8bo5bo$ob2ob2o2bob
2ob2ob2o2bob2o2bob2ob2ob2ob2ob2ob2o2bob2obo$b2obo2b2ob2obo2bo2b2ob2ob
2ob2ob2ob2obo2b2ob2ob2ob2obo$5bo2bo5bo2bo2bo5bo11bo8bo5bo$ob2ob2o2bob
2ob2ob2o2bob2o2bob2ob2ob2ob2ob2ob2o2bob2obo$ob2o2bob2ob2o2bo2bob2ob2ob
2ob2ob2ob2o2bob2ob2ob2ob2o$5bo2bo5bo2bo2bo5bo11bo8bo5bo$ob2ob2o2bob2ob
2ob2o2bob2o2bob2ob2ob2ob2ob2ob2o2bob2obo$b2obo2b2ob2obo2bo2b2ob2ob2ob
2ob2ob2obo2b2ob2ob2ob2obo$5bo2bo5bo2bo2bo5bo11bo8bo5bo$b2ob2obo2b2ob2o
b2obo2b2obo2b2ob2ob2ob2ob2ob2obo2b2ob2o$ob2o2bob2ob2o2bo2bob2ob2ob2ob
2ob2ob2o2bob2ob2ob2ob2o$5bo2bo5bo2bo2bo5bo11bo8bo5bo$ob2ob2o2bob2ob2ob
2o2bob2o2bob2ob2ob2ob2ob2ob2o2bob2obo$b2obo2b2ob2obo2bo2b2ob2ob2ob2ob
2ob2obo2b2ob2ob2ob2obo$5bo2bo5bo2bo2bo5bo11bo8bo5bo$ob2ob2o2bob2ob2ob
2o2bob2o2bob2ob2ob2ob2ob2ob2o2bob2obo$ob2o2bob2ob2o2bo2bob2ob2ob2ob2ob
2ob2o2bob2ob2ob2ob2o$5bo2bo5bo2bo2bo5bo11bo8bo5bo$ob2ob2o2bob2ob2ob2o
2bob2o2bob2ob2ob2ob2ob2ob2o2bob2obo$ob2o2bob2ob2o2bo2bob2ob2ob2ob2ob2o
b2o2bob2ob2ob2ob2o$5bo2bo5bo2bo2bo5bo11bo8bo5bo$ob2ob2o2bob2ob2ob2o2bo
b2o2bob2ob2ob2ob2ob2ob2o2bob2obo$ob2o2bob2ob2o2bo2bob2ob2ob2ob2ob2ob2o
2bob2ob2ob2ob2o$5bo2bo5bo2bo2bo5bo11bo8bo5bo$ob2ob2o2bob2ob2ob2o2bob2o
2bob2ob2ob2ob2ob2ob2o2bob2obo$b2obo2b2ob2obo2bo2b2ob2ob2ob2ob2ob2obo2b
2ob2ob2ob2obo$5bo2bo5bo2bo2bo5bo11bo8bo5bo$b2ob2obo2b2ob2ob2obo2b2obo
2b2ob2ob2ob2ob2ob2obo2b2ob2o$b2obo2b2ob2obo2bo2b2ob2ob2ob2ob2ob2obo2b
2ob2ob2ob2obo$5bo2bo5bo2bo2bo5bo11bo8bo5bo!
However, it is the union of these two patterns, which are horizontally and vertically periodic, respectively.

Code: Select all

x = 54, y = 54, rule = Life
$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo2bo$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$bo2bo
2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2$o2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2$bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo2bo2bo2$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2$bo
2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$o2bo2bo2b
o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2$o2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo2bo2bo$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$o
2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2$o2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo2$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2$o2bo2bo2b
o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$o2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo2bo2bo2$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2$o2b
o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo!

Code: Select all

x = 53, y = 54, rule = Life
bo2bo5bo2bo2bo5bo5bo2bo2bo2bo2bo2bo5bo2bo$bo5bo2bo8bo2bo2bo2bo2bo2bo5b
o2bo2bo2bo$4bo2bo5bo2bo2bo5bo11bo8bo5bo$bo2bo5bo2bo2bo5bo5bo2bo2bo2bo
2bo2bo5bo2bo$bo5bo2bo8bo2bo2bo2bo2bo2bo5bo2bo2bo2bo$4bo2bo5bo2bo2bo5bo
11bo8bo5bo$bo2bo5bo2bo2bo5bo5bo2bo2bo2bo2bo2bo5bo2bo$bo5bo2bo8bo2bo2bo
2bo2bo2bo5bo2bo2bo2bo$4bo2bo5bo2bo2bo5bo11bo8bo5bo$bo2bo5bo2bo2bo5bo5b
o2bo2bo2bo2bo2bo5bo2bo$bo5bo2bo8bo2bo2bo2bo2bo2bo5bo2bo2bo2bo$4bo2bo5b
o2bo2bo5bo11bo8bo5bo$bo2bo5bo2bo2bo5bo5bo2bo2bo2bo2bo2bo5bo2bo$bo5bo2b
o8bo2bo2bo2bo2bo2bo5bo2bo2bo2bo$4bo2bo5bo2bo2bo5bo11bo8bo5bo$bo2bo5bo
2bo2bo5bo5bo2bo2bo2bo2bo2bo5bo2bo$bo5bo2bo8bo2bo2bo2bo2bo2bo5bo2bo2bo
2bo$4bo2bo5bo2bo2bo5bo11bo8bo5bo$bo2bo5bo2bo2bo5bo5bo2bo2bo2bo2bo2bo5b
o2bo$bo5bo2bo8bo2bo2bo2bo2bo2bo5bo2bo2bo2bo$4bo2bo5bo2bo2bo5bo11bo8bo
5bo$bo2bo5bo2bo2bo5bo5bo2bo2bo2bo2bo2bo5bo2bo$bo5bo2bo8bo2bo2bo2bo2bo
2bo5bo2bo2bo2bo$4bo2bo5bo2bo2bo5bo11bo8bo5bo$bo2bo5bo2bo2bo5bo5bo2bo2b
o2bo2bo2bo5bo2bo$bo5bo2bo8bo2bo2bo2bo2bo2bo5bo2bo2bo2bo$4bo2bo5bo2bo2b
o5bo11bo8bo5bo$bo2bo5bo2bo2bo5bo5bo2bo2bo2bo2bo2bo5bo2bo$bo5bo2bo8bo2b
o2bo2bo2bo2bo5bo2bo2bo2bo$4bo2bo5bo2bo2bo5bo11bo8bo5bo$bo2bo5bo2bo2bo
5bo5bo2bo2bo2bo2bo2bo5bo2bo$bo5bo2bo8bo2bo2bo2bo2bo2bo5bo2bo2bo2bo$4bo
2bo5bo2bo2bo5bo11bo8bo5bo$bo2bo5bo2bo2bo5bo5bo2bo2bo2bo2bo2bo5bo2bo$bo
5bo2bo8bo2bo2bo2bo2bo2bo5bo2bo2bo2bo$4bo2bo5bo2bo2bo5bo11bo8bo5bo$bo2b
o5bo2bo2bo5bo5bo2bo2bo2bo2bo2bo5bo2bo$bo5bo2bo8bo2bo2bo2bo2bo2bo5bo2bo
2bo2bo$4bo2bo5bo2bo2bo5bo11bo8bo5bo$bo2bo5bo2bo2bo5bo5bo2bo2bo2bo2bo2b
o5bo2bo$bo5bo2bo8bo2bo2bo2bo2bo2bo5bo2bo2bo2bo$4bo2bo5bo2bo2bo5bo11bo
8bo5bo$bo2bo5bo2bo2bo5bo5bo2bo2bo2bo2bo2bo5bo2bo$bo5bo2bo8bo2bo2bo2bo
2bo2bo5bo2bo2bo2bo$4bo2bo5bo2bo2bo5bo11bo8bo5bo$bo2bo5bo2bo2bo5bo5bo2b
o2bo2bo2bo2bo5bo2bo$bo5bo2bo8bo2bo2bo2bo2bo2bo5bo2bo2bo2bo$4bo2bo5bo2b
o2bo5bo11bo8bo5bo$bo2bo5bo2bo2bo5bo5bo2bo2bo2bo2bo2bo5bo2bo$bo5bo2bo8b
o2bo2bo2bo2bo2bo5bo2bo2bo2bo$4bo2bo5bo2bo2bo5bo11bo8bo5bo$bo2bo5bo2bo
2bo5bo5bo2bo2bo2bo2bo2bo5bo2bo$bo5bo2bo8bo2bo2bo2bo2bo2bo5bo2bo2bo2bo$
4bo2bo5bo2bo2bo5bo11bo8bo5bo!
Here's another one, using: a+b=1, d+e=1, g+h=1 (horizontal periodicity) c+f=1 (vertical periodicity)

Code: Select all

x = 54, y = 54, rule = Life
b2obo2b2ob2ob2ob2obo2b2obo2bo2bo2b2obo2bo2bo2bo2bo2b2o$o2bob2o2bo2bo2b
o2bob2o2bob2ob2ob2o2bob2ob2ob2ob2ob2o$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo$b2obo2b2ob2ob2ob2obo2b2obo2bo2bo2b2obo2bo2bo2bo
2bo2b2o$o2bob2o2bo2bo2bo2bob2o2bob2ob2ob2o2bob2ob2ob2ob2ob2o$o2bo2bo2b
o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$b2obo2b2ob2ob2ob2obo2b2obo
2bo2bo2b2obo2bo2bo2bo2bo2b2o$o2bob2o2bo2bo2bo2bob2o2bob2ob2ob2o2bob2ob
2ob2ob2ob2o$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$ob2o
2bob2ob2ob2ob2o2bob2o2bo2bo2bob2o2bo2bo2bo2bo2bobo$bo2b2obo2bo2bo2bo2b
2obo2b2ob2ob2obo2b2ob2ob2ob2ob2obo$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo$b2obo2b2ob2ob2ob2obo2b2obo2bo2bo2b2obo2bo2bo2bo2bo
2b2o$o2bob2o2bo2bo2bo2bob2o2bob2ob2ob2o2bob2ob2ob2ob2ob2o$o2bo2bo2bo2b
o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$ob2o2bob2ob2ob2ob2o2bob2o2bo
2bo2bob2o2bo2bo2bo2bo2bobo$bo2b2obo2bo2bo2bo2b2obo2b2ob2ob2obo2b2ob2ob
2ob2ob2obo$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$ob2o2b
ob2ob2ob2ob2o2bob2o2bo2bo2bob2o2bo2bo2bo2bo2bobo$o2bob2o2bo2bo2bo2bob
2o2bob2ob2ob2o2bob2ob2ob2ob2ob2o$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2b
o2bo2bo2bo2bo2bo$b2obo2b2ob2ob2ob2obo2b2obo2bo2bo2b2obo2bo2bo2bo2bo2b
2o$bo2b2obo2bo2bo2bo2b2obo2b2ob2ob2obo2b2ob2ob2ob2ob2obo$o2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$b2obo2b2ob2ob2ob2obo2b2obo2bo
2bo2b2obo2bo2bo2bo2bo2b2o$bo2b2obo2bo2bo2bo2b2obo2b2ob2ob2obo2b2ob2ob
2ob2ob2obo$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$b2obo
2b2ob2ob2ob2obo2b2obo2bo2bo2b2obo2bo2bo2bo2bo2b2o$o2bob2o2bo2bo2bo2bob
2o2bob2ob2ob2o2bob2ob2ob2ob2ob2o$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo$b2obo2b2ob2ob2ob2obo2b2obo2bo2bo2b2obo2bo2bo2bo2bo2b2o
$bo2b2obo2bo2bo2bo2b2obo2b2ob2ob2obo2b2ob2ob2ob2ob2obo$bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$ob2o2bob2ob2ob2ob2o2bob2o2bo2b
o2bob2o2bo2bo2bo2bo2bobo$o2bob2o2bo2bo2bo2bob2o2bob2ob2ob2o2bob2ob2ob
2ob2ob2o$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$b2obo2b
2ob2ob2ob2obo2b2obo2bo2bo2b2obo2bo2bo2bo2bo2b2o$bo2b2obo2bo2bo2bo2b2ob
o2b2ob2ob2obo2b2ob2ob2ob2ob2obo$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo$b2obo2b2ob2ob2ob2obo2b2obo2bo2bo2b2obo2bo2bo2bo2bo2b2o
$o2bob2o2bo2bo2bo2bob2o2bob2ob2ob2o2bob2ob2ob2ob2ob2o$o2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$b2obo2b2ob2ob2ob2obo2b2obo2bo2bo
2b2obo2bo2bo2bo2bo2b2o$bo2b2obo2bo2bo2bo2b2obo2b2ob2ob2obo2b2ob2ob2ob
2ob2obo$bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$ob2o2bob
2ob2ob2ob2o2bob2o2bo2bo2bob2o2bo2bo2bo2bo2bobo$o2bob2o2bo2bo2bo2bob2o
2bob2ob2ob2o2bob2ob2ob2ob2ob2o$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2b
o2bo2bo2bo2bo$b2obo2b2ob2ob2ob2obo2b2obo2bo2bo2b2obo2bo2bo2bo2bo2b2o$o
2bob2o2bo2bo2bo2bob2o2bob2ob2ob2o2bob2ob2ob2ob2ob2o$bo2bo2bo2bo2bo2bo
2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$ob2o2bob2ob2ob2ob2o2bob2o2bo2bo2b
ob2o2bo2bo2bo2bo2bobo$o2bob2o2bo2bo2bo2bob2o2bob2ob2ob2o2bob2ob2ob2ob
2ob2o$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo!

John Goodman
Posts: 32
Joined: December 13th, 2019, 10:00 am

Re: Thread for basic questions

Post by John Goodman » January 4th, 2020, 11:45 am

OK, editing the apgsearch script wasn't as bad as I feared. Here are some results after 2 million soups:
SoupFOCChart.png
SoupFOCChart.png (13.03 KiB) Viewed 7805 times
  • About 1 in 510 soups are messless
  • About 1 in 83 soups evolve to a single object
  • The most common final object count is 6 (by a slight margin over 5) with 5.83%
  • The median is between 12 and 13
  • About 40% of all soups evolve to fewer than 10 objects
  • Only about 1 in 300 soups evolve to 200 or more objects

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

Re: Thread for basic questions

Post by dvgrn » January 5th, 2020, 12:29 pm

John Goodman wrote:
January 4th, 2020, 11:45 am
OK, editing the apgsearch script wasn't as bad as I feared. Here are some results after 2 million soups:

SoupFOCChart.png
  • About 1 in 510 soups are messless
  • About 1 in 83 soups evolve to a single object
Would it be possible for you to post your hacked copy of apgsearch here, and maybe also the raw data you're using to make the histogram? Someone might want to re-run at some point, and maybe collect different statistics.

This brings up some things I've been thinking about. I wonder if Catagolue/apgsearch is being just slightly inefficient by using such small soups, because some nontrivial percentage of them evolve into the same exact (mostly dead) pattern after a tick or two? Presumably that percentage would go down quickly as the soup size increased.

I think we do see this effect showing up in Catagolue's censuses, e.g., for the omnibus, where lots of soups turn into a couple of blinkers plus a pi explosion. If 1 in 83 soups turn into a single object, then there's probably also quite a bit of overlap with the ones that produce 2, 3, or 4 objects -- probably in most cases they'll converge to a common ancestor of the constellation within a few ticks. (?) We've seen some similar convergences and "bottlenecks" in the methuselah category, come to think of it.

I'd expect this to be much less of a problem with 32x32 soups, and also with soups that have ON probability significantly less than 50% (since that tends to overload and kill off a large fraction of the initial cells right away). SHA-256 hashes have an obvious translation into 16x16 bits, or 2^k by 2^(8-k), but really you could get as many random bits out of any given seed as you wanted, e.g., by recursively taking the hash of the hash, or whatever the accepted method is of generating more bits. Not sure why Catagolue's nonstandard symmetries are so often limited to 256-bit arrangements.

John Goodman
Posts: 32
Joined: December 13th, 2019, 10:00 am

Re: Thread for basic questions

Post by John Goodman » January 5th, 2020, 10:22 pm

Would it be possible for you to post your hacked copy of apgsearch here, and maybe also the raw data you're using to make the histogram? Someone might want to re-run at some point, and maybe collect different statistics.
Sure. The data is now for 10 million soups, with entries added for zero counts to make charting easier.
Attachments
finalObjectCounts_10M.zip
(2.32 KiB) Downloaded 179 times
objectsPerSoup.py.zip
(19.6 KiB) Downloaded 168 times

User avatar
pcallahan
Posts: 845
Joined: April 26th, 2013, 1:04 pm

Re: Thread for basic questions

Post by pcallahan » January 6th, 2020, 10:21 pm

pcallahan wrote:
January 3rd, 2020, 5:36 pm
Each subset should also add up to a fixed sum, and the total needs to be 4. So for instance, we may have:

Code: Select all

a + b = 1 (a and b are horizontally periodic)
d + e = 1 (d and e are horizontally periodic)
c + f + i = 2 (c, f, and i are vertically periodic)
g + h = 0 (so both are always 0 and periodic by definition)
It's not important, but I realized that LifeViewer scripting makes it possible to write one of these in a "configurable" way. The periodic row and column is represented once by an RLE pattern, and PASTE determines the positions. By modifying the 0-1 x values and the 0-1-2 y values, a new still life patch can be constructed (not stabilized at the boundaries though).

Code: Select all

x = 16, y = 16, rule = B3/S23
#C [[ RLE row o2bo2bo2bo2bo2bo2bo2bo2bo2bo2b! ]]

# a+b = 1
#C [[ PASTE row 1 0 ]]
#C [[ PASTE row 1 3 ]]
#C [[ PASTE row 0 6 ]]
#C [[ PASTE row 1 9 ]]
#C [[ PASTE row 0 12 ]]
#C [[ PASTE row 1 15 ]]
#C [[ PASTE row 0 18 ]]
#C [[ PASTE row 1 21 ]]
#C [[ PASTE row 1 24 ]]

# d + e = 1
#C [[ PASTE row 0 1 ]]
#C [[ PASTE row 1 4 ]]
#C [[ PASTE row 0 7 ]]
#C [[ PASTE row 0 10 ]]
#C [[ PASTE row 1 13 ]]
#C [[ PASTE row 0 16 ]]
#C [[ PASTE row 1 19 ]]
#C [[ PASTE row 0 22 ]]
#C [[ PASTE row 1 25 ]]

#C [[ RLE column o$o$b$o$o$b$o$o$b$o$o$b$o$o$b$o$o$b$o$o$b$o$o$b$o$o$b$! ]]

# c + f + i = 2 
#C [[ PASTE column 2 0 ]]
#C [[ PASTE column 5 1 ]]
#C [[ PASTE column 8 2 ]]
#C [[ PASTE column 11 1 ]]
#C [[ PASTE column 14 2 ]]
#C [[ PASTE column 17 0 ]]
#C [[ PASTE column 20 1 ]]
#C [[ PASTE column 23 2 ]]
#C [[ PASTE column 26 0 ]]
!

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

Re: Thread for basic questions

Post by Hdjensofjfnen » January 11th, 2020, 1:53 am

How long has this p4 been known for? Presumably for a while, but I've never seen it before and it doesn't seem to have a wiki page.

Code: Select all

x = 11, y = 11, rule = B3/S23
9b2o$9bo$6b2obo$3b2o3bo$3bo$4b3o2$2b2o$3bo$3o$o!

Code: Select all

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

Code: Select all

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

GUYTU6J
Posts: 2200
Joined: August 5th, 2016, 10:27 am
Location: 拆哪!I repeat, CHINA! (a.k.a. 种花家)
Contact:

Re: Thread for basic questions

Post by GUYTU6J » January 11th, 2020, 2:38 am

Hdjensofjfnen wrote:
January 11th, 2020, 1:53 am
How long has this p4 been known for? Presumably for a while, but I've never seen it before and it doesn't seem to have a wiki page.

Code: Select all

x = 11, y = 11, rule = B3/S23
9b2o$9bo$6b2obo$3b2o3bo$3bo$4b3o2$2b2o$3bo$3o$o!
Confused eaters was found no later than 1972.

User avatar
JP21
Posts: 1870
Joined: October 26th, 2019, 5:39 am
Location: PH

Re: Thread for basic questions

Post by JP21 » January 15th, 2020, 5:08 am

How do I find a specific object in a specific rule that didn't appear in a soup without using lifewiki on catagolue?
For this example, I used lifewiki to find it. https://catagolue.appspot.com/object/xq ... 1221/b3s23
A 17 year old guy that have useless discoveries in life and other rules.

Code: Select all

x = 13, y = 20, rule = B3/S23
11b2o$11b2o4$8b2o$8b2o2$2o$2o3$3b2o$3b2o2$11b2o$10b2o$12bo$3b2o$3b2o!
My actions weren't smart back then.

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

Re: Thread for basic questions

Post by dvgrn » January 15th, 2020, 5:48 am

JP21 wrote:
January 15th, 2020, 5:08 am
How do I find a specific object in a specific rule that didn't appear in a soup without using lifewiki on catagolue?
For this example, I used lifewiki to find it. https://catagolue.appspot.com/object/xq ... 1221/b3s23
If I'm understanding your question right, biggiemac's script might be what you're looking for.

User avatar
pcallahan
Posts: 845
Joined: April 26th, 2013, 1:04 pm

Re: Thread for basic questions

Post by pcallahan » January 20th, 2020, 1:06 am

I was thinking about period-2 oscillators as a constraint-satisfaction problem. Suppose you assign each cell a value 00, 11, 01, 10 to indicate its even/odd values in a period-2 oscillator.

Then trivially, there are at most 4^4 or 256 possible 2x2 patches in the oscillators. You can reduce it with rotations (not quite by a factor of 4). My question is whether all of these patches are realizable in some period-2 oscillator (finite or infinite). I suspect at least a few are not, but does anyone know?

It should be relatively easy to enumerate the realizable ones by running lifesrc and checking all oscillators of a certain size. It is a little harder to prove something is impossible, but it should be doable.

Come to think of it, didn't the late Harold V. McIntosh do something with deBruijn diagrams that might answer this? I thought he might have used them to analyze period 2 Life oscillators but maybe I'm mistaking what he claimed.

hkoenig
Posts: 258
Joined: June 20th, 2009, 11:40 am

Re: Thread for basic questions

Post by hkoenig » January 20th, 2020, 1:47 am

As part of his work on de Bruijn diagrams, McIntosh did some work on Period 2 Phoenixes. I can't find the paper itself, but I do have about 150 pages of color printouts in a couple of bound folders from 1996 that he sent me way back then showing the strips up to width of 12 and how they fit together. It seems to be an extension of his paper "A Zoo of Life Forms" from 26 Oct 1988. Is that the sort of thing you might be thinking of?

I vaguely remember that he sent them to be because I'd asked some questions in the old Usenet group about using something like de Bruijn diagrams for building P2 objects in general. Nothing never really came of it because I never had the time, and for some reason, even though now retired, I still don't seem to have the time.

User avatar
pcallahan
Posts: 845
Joined: April 26th, 2013, 1:04 pm

Re: Thread for basic questions

Post by pcallahan » January 20th, 2020, 11:49 am

hkoenig wrote:
January 20th, 2020, 1:47 am
As part of his work on de Bruijn diagrams, McIntosh did some work on Period 2 Phoenixes.
Yes, that's probably it. But I never really looked at it carefully enough to understand the result. Here's the link cited the paper on oscillators with David Buckingham (it doesn't work anymore) http://www.cs.cinvestav.mx/mcintosh/cf/debruijn.html

I think I can probably get by on an ad hoc approach unless this technique already gives a complete characterization. I just want the answer for 2x2 neighborhoods.

Here's a link that works: http://citeseerx.ist.psu.edu/viewdoc/do ... 1&type=pdf

User avatar
pcallahan
Posts: 845
Joined: April 26th, 2013, 1:04 pm

Re: Thread for basic questions

Post by pcallahan » January 21st, 2020, 11:13 am

Going with a brute force approach of enumerating 8x8 p2s with lifesrc and tabulating 2x2 neighborhoods, I found these unusual p2s.

Code: Select all

x = 29, y = 8, rule = Life
3b2ob2o4bo2b2o9bo$2bobob2o4bobobo4b2o3b2o$bobo8bo8bobo2b2o$ob3ob2o6bo
8b4obo$2obo3bo5bo8bo5bo$6bo8bo6b2obo$2obobo5b2o3bo9b2o$2ob2o8bob2o!
They are unusual in realizing some 2x2 neighborhoods that don't show up often, such as:

Code: Select all

. * -> . .
* *    . .

. * -> * *
* *    * .

. * -> * .
* .    . *

* . -> * .
. .    * *
A total of 196 2x2 windows (rotations and flips count as distinct) show up in 8x8 p2s. So that leaves 60 that may or may not show up in other p2s.

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

Re: Thread for basic questions

Post by dvgrn » January 21st, 2020, 12:47 pm

pcallahan wrote:
January 21st, 2020, 11:13 am
A total of 196 2x2 windows (rotations and flips count as distinct) show up in 8x8 p2s. So that leaves 60 that may or may not show up in other p2s.
Is it worth checking all the known p2 oscillators in jslife, looking for those sixty missing windows?

-- Or in Koenig's Class 2 database. The main thing you'd need there would be an SOF decoder. There seems to be a working showSOF() function in this very old code:

SOF-flyover.py

Code: Select all

# Display and run all Koenig SOF files in a folder chosen by the user.
# Author: Dave Greene, 29 May 2006; updated 29 April 2007.
# still need to add an ambitious (but not too ambitious!) pattern deletion system
# (probably throttle up and down depending on how many rows in the total pattern)

from glife import *
import golly as g

import os
from os.path import join
from time import time

global display_step, basex
display_step=1
basex=999999

# ------------------------------------------------------------------------------

def flyover ():
  basedir=g.getstring("Enter path of folder to display: ", "C:/Users/{username}/Desktop/class2/110")
  if basedir=="": basedir=os.path.join(g.appdir() + "Scripts","ObjectDB")
  g.new("HK Database Flyover")
  g.setcell(0,0,1) # lazy way to be sure of not getting degenerate getrect[] result
  g.setmag(g.getmag()-2)
  for root, dirs, files in os.walk(basedir):
     for name in files:
        # ignore hidden files (like .DS_Store on Mac)
        if name.endswith(".sof") and not name.startswith("."):
           fullname = join(root, name)
           runSOF(fullname)
     if "CVS" in dirs:
        dirs.remove("CVS")  # don't visit CVS directories

def runSOF (fname):
  global display_step, basex
  f=open(fname, 'r')
  count=0
  skipNobjects=0
  for chunk in f:
     # Python has some annoying trouble with Mac-style line endings,
     # so we have to make everything look right no matter what:
     # in Mac format, entire file will be here, separated by chr(13)
     for line in chunk.split(chr(13)):
        if line=="": continue
        count+=1
        if skipNobjects>0: # skip objects if S key pressed
           skipNobjects-=1
           continue
        bounds=g.getrect()
        x=int(bounds[0])
        y=int(bounds[1])
        w=int(bounds[2])
        h=int(bounds[3])
        # set x location so that column won't drift if bounding box changes
        if basex==999999: basex=x
        linedata=line.split(",")
        if len(linedata)==1:
           # need more vertical space here, since we don't know the object types
           # (could look at the filenames, but that's what the CSV database format is for.)
           end_y=showSOF(linedata[0], basex, y + h + 32)
        else:
           # modified SOF database has comma-separated sourcename, cells, period, vector
           if linedata[3]=="H0V0":
              end_y=showSOF(linedata[4], x, y + h + 10)
           elif linedata[3][-2:]=="V0":
              # objects are displayed reflected in Golly's x=y line,
              # so an HnV0 object actually shows up going north,
              # and should be offset so avoid collisions.
              # The calculation below sorts vertical-travelling spaceships
              # by speed, though 2c/5 spaceships show up with dangerously little room,
              # and there are a few collisions in the current sample database.
              end_y=showSOF(linedata[4], basex + 128*int(linedata[2]) / int(linedata[3][1:-2]) - 160, y + h + 10)
           else:
              end_y=showSOF(linedata[4], basex, y + h + 50)
        g.update()

        while not g.visrect( [x, end_y, 1, 1] ): # this didn't work reliably at low zooms (?!)
           # stop autoscrolling when new object's last row is on screen (or parallel)
           g.run(display_step)
           g.update()

           # autoscrolling happens here
           pos = g.getpos()
           g.setpos(pos[0],str(int(pos[1])+display_step))

           # keyboard handling
           while 1:
              ch=g.getkey()
              if ch=="+":
                 display_step = (display_step + 1)*2 - 1
              elif ch=="-":
                 if display_step != 1:
                    display_step = (display_step + 1)/2 - 1
              elif ch=="s" or ch=="S": skipNobjects=100
              elif ch=="": break
              else:
                 g.dokey(ch)
  f.close()

def showSOF (sofString, x, y):
  # process the SOF and produce an object at chosen location
  # current databases seem to work best with objects reflected in Golly's x=y
  cur_x = x
  cellState=1
  for ch in sofString:
     if ch=='-':
        cur_x=x
        y+=1
        cellState=1
     elif ch=='.':
        break
     else:
        runlength=ord(ch)-48
        while runlength>0:
           if cellState==1:
              g.setcell(cur_x, y, cellState)
              cur_x+=1
              runlength-=1
           else:
              cur_x+=runlength
              break
        cellState=1-cellState
  return y

# ------------------------------------------------------------------------------

# remember initial hashing state so we can restore it if changed by a pattern file
inithash = g.getoption("hashing")

# show status bar so user sees messages
initstatus = g.setoption("showstatusbar", True)

# hide other stuff to maximize the viewport
# (don't switch to fullscreen because user won't see pattern name in title)

initlayerbar = g.setoption("showlayerbar", False)
inittoolbar = g.setoption("showtoolbar", False)
initscripts = g.setoption("showscripts", False)
initpatterns = g.setoption("showpatterns", False)
initgrid = g.setoption("showgrid", False)

flyover()

"""
try:
  flyover()
except:
  g.show("")
  g.setoption("hashing", inithash)
  g.setoption("showstatusbar", initstatus)
  g.setoption("showlayerbar", initlayerbar)
  g.setoption("showtoolbar", inittoolbar)
  g.setoption("showscripts", initscripts)
  g.setoption("showpatterns", initpatterns)
  g.setoption("showgrid", initgrid)
"""
The Class 2 (oscillators) database can be downloaded here: http://pentadecathlon.com/test/class2.zip

The patterns are arranged in subfolders according to minimum population. The relevant files will be all the ones in the various subfolders that end with "P2.sof".

User avatar
pcallahan
Posts: 845
Joined: April 26th, 2013, 1:04 pm

Re: Thread for basic questions

Post by pcallahan » January 21st, 2020, 2:44 pm

dvgrn wrote:
January 21st, 2020, 12:47 pm
Is it worth checking all the known p2 oscillators in jslife, looking for those sixty missing windows?
If it's easy, sure. I can check any list of oscillators provided either as empty-line-separated bitmaps like lifesrc output or some other way, like one RLE per line.
-- Or in Koenig's Class 2 database. The main thing you'd need there would be an SOF decoder. There seems to be a working showSOF() function in this very old code:
Can you explain what this is and what is SOF? I probably saw some mentions way back but never followed up on it.

As you might guess, I'm contemplating a jigsaw-puzzle treatment of period-2 oscillators. We need at most 70 distinct pieces, which is fine for a jigsaw puzzle. I am thinking how to make the local constraints legible. It's not too bad if the generations are color-coded (say red/blue).
  • For both live accept if 2 or 3 three dots or petals for both generations.
  • For both dead, reject if 3 dots in any generation.
  • For dead/live or live/dead, accept 3 dots matching "dead" color, reject 2 or 3 dots matching "live" color.
It's unclear if this would be good enough to really help build period-2 oscillators, but you could find an oscillator that matches some set of tiles (perhaps uniquely) and after assembling the puzzle, it might be easy enough to check by eye. I feel safe in saying the still life patterns are easy enough to check by eye with the annotations.

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

Re: Thread for basic questions

Post by dvgrn » January 21st, 2020, 4:13 pm

pcallahan wrote:
January 21st, 2020, 2:44 pm
-- Or in Koenig's Class 2 database. The main thing you'd need there would be an SOF decoder. There seems to be a working showSOF() function in this very old code:
Can you explain what this is and what is SOF? I probably saw some mentions way back but never followed up on it.
SOF is Koenig's "Simple Object Format" -- designed for ASCII-friendliness and one-line-per-pattern text databases, and much more compact than RLE.

Either there's a bug in my extraction program, or there weren't as many P2 patterns as I thought there would be. The script only came up with 171 P2s, but a lot of them are the big interesting ones that you won't find in the LifeWiki, so it might be worth doing a scan through them.

EDIT: Bah, of course there was a bug. That was far too few objects. This is just one sample P2 pattern for each population:

Code: Select all

2o$obo$$2bobo$$4bobo$5b2o$$$$$$$$
3ob2ob2o4bo$5bobo3bobo$bobobobobobobo$o4bo$2o11bo$$13b2o$20bo$12b3obobobo$18bobo$$20bo$$20b2o$27bo$19b3obobobo$25bobo$$27bo$$27b2o$34bo$26b3obobobo$32bobo$$34bo$$34b2o$41bo$33b3obobobo$39bobo$$41bo$$41b2o$48bo$40b3obobobo$46bobo$$48bo$49bo$47bo2bo$48b2obo$47bo2bo$49bo$47bo$47bobobo$47bo2b2o$$$$$$$$
3o5b3o5b3o5b3o$4bo7bo7bo7bo$b2o2b2o2b2o2b2o2b2o2b2o2b2o2b2o$$bo2bo4bo2bo4bo2bo4bo2bo$$obobobobobobobobobobobobobobobob2o$2o31bo$5bo2bo4bo2bo4bo2bo4bo2bo$$5b2o2b2o2b2o2b2o2b2o2b2o2b2o2b2o$8bo7bo7bo7bo$4b3o5b3o5b3o5b3o$$$$$$$$
3o5b3o5b3o5b3o$4bo7bo7bo7bo$b2o2b2o2b2o2b2o2b2o2b2o2b2o2b2o$$bo2bo4bo2bo4bo2bo4bo2bo$33b2o$obobobobobobobobobobobobobobobobobo$2o$6bo2bo4bo2bo4bo2bo4bo2bo$$4b2o2b2o2b2o2b2o2b2o2b2o2b2o2b2o$6bo7bo7bo7bo$8b3o5b3o5b3o5b3o$$$$$$$$
2obo$o3b2o$bo$3bo$3bo3b2o$5bo2bo$5bobo$$5bo3b2o$5bo4bo$5bob2o$$9b2ob3o$$8bobo3bo$8b2o4bo3b2o$12bo3bo2bo$12b2o2bobo$$16bo3b2o$16bo4bo$16bob2o$$20b2ob3o$$19bobo3bo$19b2o4bo3b2o$23bo3bo2bo$23b2o2bobo$$27bo3b2o$27bo4bo$27bob2o$$31b2ob3o$$30bobo3bo$30b2o4bo$34bo3bo$34b2o2bo$40bo$38bo$38bobobo$38bo2b2o$$$$$$$$
2ob3o3b3ob3o3b3ob3o3b3ob2o$2ob4ob4ob4ob4ob4ob4ob2o$$2obo2bobo2bobo2bobo2bobo2bobo2bob2o$bobo2bobo2bobo2bobo2bobo2bobo2bobo$o2bo2bobo2bobo2bobo2bobo2bobo2bo2bo$2o2bo5bo3bo5bo3bo5bo2b2o$$$$$$$$
2bobo23bobo$3bo2bo19bo2bo$2obobo21bobob2o$3bob2obo15bob2obo$bobo5b2o2bobobobo2b2o5bobo$2b2o9bo5bo9b2o$11bo4bo4bo$15bobo$9b2o3bobobo3b2o$14bobobo$10bo4bobo4bo$16bo$2b2o6bobobobobobobo6b2o$3bo5bo4bo3bo4bo5bo$2obob2o2bo13bo2b2obob2o$3bobobo17bobobo$bobobo21bobobo$3bo25bo$$$$$$$$
2obo$o3b2o$bo$3bo$bo$ob3o$bo$2b2o$$4bo$6bo3bo$2b2o2bo3bo$4bo3bo2bo$$9b2o$$11bo$13bo3bo$9b2o2bo3bo$11bo3bo2bo$$16b2o$$18bo$20bo3bo$16b2o2bo3bo$18bo3bo2bo$$23b2o$$25bo$27bo3bo$23b2o2bo3bo$25bo3bo2bo$$30b2o$$32bo$34bo3bo$30b2o2bo3bo$32bo3bo2bo$$37b2o$$39bo$41bo3bo$37b2o2bo3bo$39bo3bo2bo$$44b2o$$44bobo$45b2o$43bo$44b3o$43bo2bo$45bo$43bo$42bo3b2o$42b2obo$$$$$$$$
4b2o8bo$3bo2bo6bobo$3b2obo2b2o2bob3obo$6bobo2bobo4b2o$3b4obobo2b4o$2bo9bo3b4o$2bob3o7b2o4bo$3b2o8bob5o$6bo$b5o8bob2o$o5b2o7b2obo$b3o9bo4bo$4b4obobo2b4o$b2o4bobo2bobo$bob3obo2b2o2bob2o$5bobo6bo2bo$6bo8b2o$$$$$$$$
3o$$bob2o$o4bo$2o3bo8b3o$7bobo$3b2o5b2o3bob2o$5bobo11bo$9bo3bobo3bo8b3o$9bo11bobo$10b2obo3b2o5b2o3bob2o$19bobo11bo$12b3o8bo3bobo3bo8b3o$23bo11bobo$24b2obo3b2o5b2o3bob2o$33bobo11bo$26b3o8bo3bobo3bo$37bo11bobo$38b2obo3b2o5b2o$47bobo$40b3o8bo3b2o$51bo4bo$52b2obo$$54b3o$$$$$$$$
2bobo33bobo$3bo2bo29bo2bo$2obobo31bobob2o$3bob2obo25bob2obo$bobo5b2o21b2o5bobo$2b2o35b2o$11bo19bo$12b2o15b2o$$14bo13bo$15b2o9b2o$$17bobo3bobo$19bo3bo$21bo$$18bobobobo$18bo5bo$16bo9bo$15bo11bo$15bo11bo$13bo15bo$12bo17bo$12bo17bo$2b2o6bo21bo6b2o$3bo5bo23bo5bo$2obob2o2bo23bo2b2obob2o$3bobobo27bobobo$bobobo31bobobo$3bo35bo$$$$$$$$
2o$obo$$2bobo$$4bobo$7bo$6b2o$$$$$$$$
3obobob3o7b3obobob3o7b3obobob3o$5bo17bo17bo$bobobobobo9bobobobobo9bobobobobo$o3bobo7bo7bobo7bo7bobo7bo3b2o$2o3bo3bobobobobobo3bo3bobobobobobo3bo3bobobobobobo$14bo17bo17bo$9bo2bobobo2bo7bo2bobobo2bo7bo2bobobo2bo$10bo3bo3bo9bo3bo3bo9bo3bo3bo$10bo7bo9bo7bo9bo7bo$$$$$$$$
2o$obobobo$4bo$2bo4b2o$6bo$2b2o3bo$5bo$3b2o$5bo$3bo$4b2o$3bo$5bo$3b2o$5bo$3bo$4b2o$3bo$5bo$3b2o$5bo$3bo$4b2o$3bo$5bo$3b2o$6bo$2b4o$6bo$3b2o$5bo$3bo$4b2o$2bo$3b4o$2bo$4b2o$3bo$5bo$3b2o$5bo$3bo$4b2o$3bo$5b2o$4bo$6b2o$5bo$7b2o$6bo$8b2o$7bo$9b2o$8bo$10bo$8b2o$10bo$8bo$9b2o$8bo$10bo$8b2o$10bo$7b2o3bo$11bo$7bo4b2o$9bo$5bobobobo$5b2o$$$$$$$$
3ob2ob2o4bo$5bobo3bobo$bobobobobobobo$o4bo$2o11bo$$13b2o$20bo$12b3obobobo$18bobo$$20bo$$20b2o$27bo$19b3obobobo$25bobo$$27bo$$27b2o$34bo$26b3obobobo$32bobo$$34bo$$34b2o$41bo$33b3obobobo$39bobo$$41bo$$41b2o$48bo$40b3obobobo$46bobo$$48bo$$48b2o$55bo$47b3obobobo$53bobo$$55bo$56bo$54bo2bo$55b2obo$54bo2bo$56bo$54bo$54bobobo$54bo2b2o$$$$$$$$
3o7bo9b3o7bo9b3o7bo$6bo3bo15bo3bo15bo3bo$bob2obobo2bo9bob2obobo2bo9bob2obobo2bo$o5bo9bo9bo9bo9bo9bo3b2o$2o3bobobobo3bobobobo3bobobobo3bobobobo3bobobobo3bobobobo$6bo9bo9bo9bo9bo9bo$11bob2obobo2bo9bob2obobo2bo9bob2obobo2bo$16bo3bo15bo3bo15bo3bo$10b3o7bo9b3o7bo9b3o7bo$$$$$$$$
3o$12b2o$bob2o3bo3bo3b2o$o7bo4bobobo$2o3b2o2bo$11bobobo$7bobobo13b2o$13bo2b2o3bo3bo3b2o$5bobobo4bo6bo4bobobo$5b2o3bo3bo3b2o2bo$9b2o13bobobo$20bobobo13b2o$26bo2b2o3bo3bo3b2o$18bobobo4bo6bo4bobobo$18b2o3bo3bo3b2o2bo$22b2o13bobobo$33bobobo$39bo2b2o3b2o$31bobobo4bo7bo$31b2o3bo3bo3b2obo$35b2o$46b3o$$$$$$$$
2bo$bobo$2bo$$5o$o4bo$bobo2bobo$3bo4bo4bo$10b2obobo$13bo$11bobob2o$13bo4bo$18bobo2bobo$24bo$21b2obob2o$24bo$23bobo2bobo$30bo4bo$32b2obobo$35bo$33bobob2o$35bo4bo$40bobo2bobo$46bo$43b2obob2o$46bo$45bobo2bobo$52bo4bo$54b2obobo$57bo$55bobob2o$57bo4bo$62bobo2bobo$68bo$65b2obob2o$68bo$67bobo2bobo4bo$74bo2bobo$76bo4bo$77b5o$$79bo$78bobo$79bo$$$$$$$$
3o13b3o13b3o13b3o$$bob2o12bob2o12bob2o12bob2o$o4bo15bo15bo15bo$2o3bo7bobobo3bo7bobobo3bo7bobobo3bo7bob2o$7bo3b2o10bo3b2o10bo3b2o10bo3b2o3bo$3b2o10bo3b2o10bo3b2o10bo3b2o10bo$5bobobo3bo7bobobo3bo7bobobo3bo7bobobo3bo$13bo15bo15bo15bo$9bob2o12bob2o12bob2o12bob2o$$8b3o13b3o13b3o13b3o$$$$$$$$
2obo$o3b2o$bo$3bo$3bo3b2o$5bo2bo$5bobo3b2o$12bo$6bo2b2o$7bo$7bo3b2o$14bo$10bobo2b2o$10b2o$14bo$14bo3b2o$12bo3bo2bo$12b2o2bobo3b2o$23bo$17bo2b2o$18bo$18bo3b2o$25bo$21bobo2b2o$21b2o$25bo$25bo3b2o$23bo3bo2bo$23b2o2bobo3b2o$34bo$28bo2b2o$29bo$29bo3b2o$36bo$32bobo2b2o$32b2o$36bo$36bo3b2o$34bo3bo2bo$34b2o2bobo3b2o$45bo$39bo2b2o$40bo$40bo3b2ob3o$$46bobo$49bo$48b2o$$$$$$$$
3ob2ob2o4bo$5bobo3bobo$bobobobobobobo$o4bo$2o11bo$$13b2o$20bo$12b3obobobo$18bobo$$20bo$$20b2o$27bo$19b3obobobo$25bobo$$27bo$$27b2o$34bo$26b3obobobo$32bobo$$34bo$$34b2o$41bo$33b3obobobo$39bobo$$41bo$$41b2o$48bo$40b3obobobo$46bobo$$48bo$$48b2o$55bo$47b3obobobo$53bobo$$55bo$$55b2o$60bobob3o$54b3obo2bo$59bobobobo$60bobo3bo$61bo3b2o$$$$$$$$
b2o$bobo3bo$5bobobo$2bo2bobobo$3bobob2o2bo$bo2bo$10b2o$b2o3bobo$4bo3bobobo$3o2bo5b2o$6bo$4bo11bo$4bobobo3bobobo$4bo5bo3bobo$8bo2bo$12bo2bo2b3o$9b3o4bo$14bo2bobo$8b4o$11bo2b2o3bobo3bo$9b2o12bobobo$13bobo4bo2bobobo$11bobo2bo4bobob2o2bo$15b2o2bo2bo$28b2o$19b2o3bobo$22bo3bobobo$18b3o2bo5b2o$24bo$22bo$22bobobo$22bo2b2o$$$$$$$$
3o$4bo$b2o2b2o$$bo2bo$3bo$3bo$$$$$$$$
2b2o$bo5b2o$4bobo2bo$2b2o3bobo$o3b3obo$4o2bo$4bo2b4o$2bob3o3bo$bobo3b2o$bo2bobo5b2o$2b2o5bobo2bo$7b2o3bobo$5bo3b3obo$5b4o2bo$9bo2b4o$7bob3o3bo$6bobo3b2o$6bo2bobo5b2o$7b2o5bobo2bo$12b2o3bobo$10bo3b3obo$10b4o2bo$14bo2b4o$12bob3o3bo$11bobo3b2o$11bo2bobo$12b2o5bo$17b2o$$$$$$$$
2obo$o3b2o$bo$3bo$3bo3b2o$5bo2bo$5bobo$$5bo5b2o$4bo5bobo4b2o$3bo2bo9bo2bo$2bob2o2bob2o3bobo2bo$2bo2bobo7bob2obo$3bo2bo5b2o5bo$4b2o4bo6b2o$10b2o$16bo$16bo3b2o$14bo3bo2bo$14b2o2bobo$$18bo5b2o$17bo5bobo4b2o$16bo2bo9bo2bo$15bob2o2bob2o3bobo2bo$15bo2bobo7bob2obo$16bo2bo5b2o5bo$17b2o4bo6b2o$23b2o$29bo$29bo$27bo3bo$27b2o2bo$33bo$31bo$31bobobo$31bo2b2o$$$$$$$$
b3o$$2o2bo$$o2bob2o$2bo$2bo3b2o$9bo$5bo3bo3b2o$10bobobo$4b2o$12bo$6bo$13b2o$4bobobo$4b2o3bo3bo$9bo$11b2o$14bo$10bo3bo3b2o$15bobobo$9b2o$17bo$11bo$18b2o$9bobobo$9b2o3bo3bo$14bo$16b2o$19bo$15bo3bo3b2o$20bobobo$14b2o$22bo$16bo$23b2o$14bobobo$14b2o3bo3bo$19bo$21b2o$24bo$20bo3bo3b2o$25bobobo$19b2o$27bo$21bo$28b2o$19bobobo$19b2o3bo3bo$24bo$26b2o3bo$31bo$27b2obo2bo$$29bo2b2o$$30b3o$$$$$$$$
2b2o$bo$4bo$2b2o2bo3bo$o3b3o2bobo$4o5b2o$4b5o$2b2o5b4o$bobo2b3o3bo$2bo3bo2b2o$8bo$11bo$9b2o2bo3bo$7bo3b3o2bobo$7b4o5b2o$11b5o$9b2o5b4o$8bobo2b3o3bo$9bo3bo2b2o$15bo$18bo$16b2o2bo3bo$14bo3b3o2bobo$14b4o5b2o$18b5o$16b2o5b4o$15bobo2b3o3bo$16bo3bo2b2o$22bo$25bo$23b2o$$$$$$$$
2bobo31bobo$3bo2bo27bo2bo$2obobo29bobob2o$3bob2obo23bob2obo$bobo5b2o19b2o5bobo$2b2o33b2o$11bo17bo$12b2o13b2o$$14bo11bo$15b2o7b2o$19bobo$17bo2bo2bo$18bobobo$17b2obob2o$16bo3bo3bo$17b2obob2o$18bobobo$18bobobo$16bo3bo3bo$15bo9bo$15bo9bo$13bo13bo$12bo15bo$12bo15bo$2b2o6bo19bo6b2o$3bo5bo21bo5bo$2obob2o2bo21bo2b2obob2o$3bobobo25bobobo$bobobo29bobobo$3bo33bo$$$$$$$$
2obo$o3b2o$bo$3bo20b2o$3bo3b2o2bo11bobo$5bo2bo2b3o$5bobo6bo6b2o2bo$11b2obo9bo$7bo3bo2b2o3b2o3bo$12b2o$5bobobo4b2obobobo$3b3obob5o6b2o$2bo3bobo5b2o$2bobobobo2bo2bo$b2ob2o2bobobobo2b2ob2o$8bo2bo2bobobobo$7b2o5bobo3bo$9b5obob3o$9bo3bobobo$10bo$9b2o4bo$$15bobo$14bo2bo$14b2o3bo$19bo$21bo$17b2o3bo$19bob2o$$$$$$$$
2bobo29bobo$3bo2bo25bo2bo$2obobo27bobob2o$3bob2obo21bob2obo$bobo5b2o17b2o5bobo$2b2o31b2o$11bo15bo$12b2o11b2o$$14bo9bo$15b2o5b2o$19bo$17bobobo$17bobobo$15b3obob3o$14bo4bo4bo$15b3obob3o$17bobobo$19bo$16bobobobo$15bo7bo$15bo7bo$13bo11bo$12bo13bo$12bo13bo$2b2o6bo17bo6b2o$3bo5bo19bo5bo$2obob2o2bo19bo2b2obob2o$3bobobo23bobobo$bobobo27bobobo$3bo31bo$$$$$$$$
b2o3bo$3bo2b2o$o5b2o$ob5obo$b2o5bo$b2o2bo$2bo3b2o$3b3o$5bo$bo2b2obo$obobobobo$obobobobo$bob2o2bo$3bo$3b3o$b2o3bo$3bo2b2o$o5b2o$ob5obo$b2o5bo$b2o2bo$2bo3b2o$3b3o$5bo$bo2b2obo$obobobobo$obobobobo$bob2o2bo$3bo$3b3o$b2o3bo$3bo2b2o$o5b2o$ob5obo$b2o5bo$b2o2bo$2bo3b2o$$$$$$$$
2b2o$2bobob2ob2o$4b2obobo$3bo3bobo5bo$2bobobo2bob2obobo$2bobobo2bo2bobo2bo$b2obobobobobob4o$bo2bobobo$2b3obo7b4o$18bo$2b3o9bobobo$2bo12b3o$4bo8bo$4o7bo2b2o$o4bo3bo2bobo$3b2o2bo2bobobo$4bobo2b2obob2o$4bob2obob2obo2bo$5bo3bobo2bob2o$6b2obo2bobobo$7bobo2bobobo$7bo2bobo2bo$8bobobo$7b2ob2o$$$$$$$$
2bobo35bobo$3bo2bo31bo2bo$2obobo33bobob2o$3bob2obo27bob2obo$bobo5b2o23b2o5bobo$2b2o37b2o$11bo21bo$12b2o17b2o$$14bo15bo$15b2o2bobobobo2b2o$19bo5bo$17bo4bo4bo$21bobo$15b2o3bobobo3b2o$20bobobo$16bo4bobo4bo$22bo$16bobobobobobobo$15bo4bo3bo4bo$15bo13bo$13bo17bo$12bo19bo$12bo19bo$2b2o6bo23bo6b2o$3bo5bo25bo5bo$2obob2o2bo25bo2b2obob2o$3bobobo29bobobo$bobobo33bobobo$3bo37bo$$$$$$$$
2o$obo$$2bobo$3b2o$5b2o$5bobo$6bo$$$$$$$$
bo7bo11bo7bo11bo7bo11bo7bo$bo3bo3bo11bo3bo3bo11bo3bo3bo11bo3bo3bo$o2bobobo2bo9bo2bobobo2bo9bo2bobobo2bo9bo2bobobo2bo$5bo19bo19bo19bo$obobobobobo9bobobobobobo9bobobobobobo9bobobobobobo$2o3bo9bo9bo9bo9bo9bo9bo3b2o$10bobobobobobo9bobobobobobo9bobobobobobo$15bo19bo19bo$10bo2bobobo2bo9bo2bobobo2bo9bo2bobobo2bo$11bo3bo3bo11bo3bo3bo11bo3bo3bo$11bo7bo11bo7bo11bo7bo$$$$$$$$
3o7bo9b3o7bo9b3o7bo9b3o7bo$6bo3bo15bo3bo15bo3bo15bo3bo$bob2obobo2bo9bob2obobo2bo9bob2obobo2bo9bob2obobo2bo$o5bo9bo9bo9bo9bo9bo9bo$2o3bobobobo3bobobobo3bobobobo3bobobobo3bobobobo3bobobobo3bobobobo$6bo9bo9bo9bo9bo9bo9bo3b2o$11bob2obobo2bo9bob2obobo2bo9bob2obobo2bo$16bo3bo15bo3bo15bo3bo$10b3o7bo9b3o7bo9b3o7bo$$$$$$$$
b3o$$o2b2o$o$obo2bob2o4bo$8bo4bo$3b2o2bo3bo2bo$$5bobo3b2o2b2o$14bo$b3o3bobob2o$$o2b2o4bobo$o$obo2bobobo3bo$13bo$3b2o2bo3bo2bo$$5bobo3b2o2b2o$14bo$b3o3bobob2o$$o2b2o4bobo$o$obo2bobobo3bo$13bo$3b2o2bo3bo2bo$$5bobo3b2o2b2o$14bo$b3o3bobob2o$$o2b2o4bobo$o$obo2bobobo3bo$13bo$3b2o2bo3bo2bo$$5bobo3b2o2b2o$14bo$7bobob2o$$9bobo$8bo$8b2o$$$$$$$$
bo7bo$bo3bo3bo$o2bobobo2bo8b3o7bo$5bo19bo3bo$obobobobobo3bo5bob2obobo2bo8b3o7bo$2o3bo7bobo9bo19bo3bo$10bobobobobobo3bobobobo3bo5bob2obobo2bo8b3o7bo$14bo10bo7bobo9bo19bo3bo$9b3obobobo2bo9bobobobobobo3bobobobo3bo5bob2obobo2bo$19bo14bo10bo7bobo9bo$19bo9b3obobobo2bo9bobobobobobo3bobobobo$39bo14bo10bo3b2o$39bo9b3obobobo2bo$59bo$59bo$$$$$$$$
bo$b2o$b2o$2bo$3b2o6bo$5b2o3bobo$bo2b4o3bo$obobo3bo$bo2bo3bob4o$4b2o3b2o2bo$9b2o$10bo$11b2o6bo$13b2o3bobo$9bo2b4o3bo$8bobobo3bo$9bo2bo3bob4o$12b2o3b2o2bo$17b2o$18bo$19b2o6bo$21b2o3bobo$17bo2b4o3bo$16bobobo3bo$17bo2bo3bob4o$20b2o3b2o2bo$25b2o$26bo$27b2o6bo$29b2o3bobo$25bo2b4o3bo$24bobobo3bo$25bo2bo3bob4o$28b2o3b2o2bo$33b2o$34bo$$$$$$$$
3b2ob2o2b2o$4bobo2bobo$4bo2bobo$5bobo2bo$3bobobo2bo3b2o$b3obo2bobobo2bo$o4bob2obob2obob2o$b2ob2obob2o2bobo2bo$2bobo2bobo2bo2b2o$bo3bobo2bo3bo$ob4o2bo7b3o$bo4bo8bobobo$3b2o14bo$bobobo9b4o$obo$o2b3o7bob2o$b2o8bobobo$4b2obobobobo2bo$5bobo2bo2bob2o$2b3o2b2obo2bobo$2bo4bo2bobo3bo$9b2o2b3o$11bobo$11b2o$$$$$$$$
3b2obo$3bo3b2o$4bo$6bo22b2o$6bo21bobo$8bo2b2o3b2o$8bo3bo3bo3b2o4b2o2bo$10bo6bobobo7bo$10bo13b2o3bo$6b2o7bobob2o$6bo2bobo10b2o$7bobo3bobo2bobo4bo$11bo12b2o$5bobobo3bobobobo$5b2o$9bobobo3bobobo$24b2o$11bobobobo3bobobo$5b2o12bo$5bo4bobo2bobo3bobo$7b2o10bobo2bo$10b2obobo7b2o$bo3b2o13bo$bo7bobobo6bo$o2b2o4b2o3bo3bo3bo$13b2o3b2o2bo$obo21bo$2o22bo$26bo$22b2o3bo$24bob2o$$$$$$$$
b2o2b2o$bo4bo$2bo2bo$b2o2b2o$3b2o2bo$b2ob3o$o$b2o2b2o$3bob2o$3bob2o$4b2o$$4b2o$3bob2o$3bob2o$4bo2bo$$5b2o$4bo$3b2o$3b3o$2bo3bo$6bo$3b3o$$3b3o$6bo$2bo3bo$3b3o$3b2o$4bo$5b2o$$4bo2bo$3bob2o$3bob2o$4b2o$$4b2o$3bob2o$3bob2o$4bo2bo$$5b2o$4bo$3b2o$3b3o$2bo3bo$6bo$3b3o$$3b3o$6bo$2bo3bo$3b3ob2o$5b2o2bo$3b3ob2o$2bo$3b2o2b2o$4bo2bo$3bo4bo$3b2o2b2o$$$$$$$$
b3o$$2o2bo$$o2bob2o$2bo$2bo3b2o$9bobo$5bo3bo$3b2o7b2o$7bo3bo$5bobo$9b2o$12bobo$8bo3bo$6b2o7b2o$10bo3bo$8bobo$12b2o$15bobo$11bo3bo$9b2o7b2o$13bo3bo$11bobo$15b2o$18bobo$14bo3bo$12b2o7b2o$16bo3bo$14bobo$18b2o$21bobo$17bo3bo$15b2o7b2o$19bo3bo$17bobo$21b2o$24bobo$20bo3bo$18b2o7b2o$22bo3bo$20bobo$24b2o$27bobo$23bo3bo$21b2o7b2o$25bo3bo$23bobo$27b2o$30bobo$26bo3bo$24b2o7b2o$28bo3bo$26bobo$30b2o3bo$35bo$31b2obo2bo$$33bo2b2o$$34b3o$$$$$$$$
7bo$7bobo$5bo4bo$6b5o$5bo$7b2o32bo$6bobo30bobobo$37bobobo$8bo26bo2b2obob2o$9bo25bo5bo$9bo24bo6b2o$11bo20bo$12bo19bo$12bo18bo$14bo14bo$15bo13bo$15bo2b2ob2o5bo$17bobob2o$19bo6b2o$21b2o$20bobo4bo$22bob2o$18bobobobobo$19b2obo$17bo4bobo$22b2o$17b2o6bo$22b2obobo$16bo5b2ob2o2bo$15bo13bo$15bo14bo$13bo18bo$12bo19bo$12bo20bo$2b2o6bo24bo$3bo5bo25bo$2obob2o2bo26bo$3bobobo$bobobo30bobo$3bo32b2o$39bo$34b5o$34bo4bo$35bobo$37bo$$$$$$$$
3o$5b2o$b2obobo$$2bobo$5bo$4b2o$$$$$$$$
2ob2o3b2ob2o3b2ob2o3b2ob2o3b2ob2o3b2o$2ob2o3b2obo2bo2bob2o3b2obo2bo2bob2o3b2o$5b3o13b3o13b3o4bo$6ob7ob7ob7ob7ob6o$o12b3o13b3o$3bo2bo2bob2o3b2obo2bo2bob2o3b2obo2bo2bob2o$3b2o3b2ob2o3b2ob2o3b2ob2o3b2ob2o3b2ob2o$$$$$$$$
3o2bobob3o8b3o2bobob3o8b3o2bobob3o8b3o2bobob3o$6bo19bo19bo19bo$bob2obobobo10bob2obobobo10bob2obobobo10bob2obobobo$o5bo19bo19bo19bo13b2o$2o8bobo2bobobobo8bobo2bobobobo8bobo2bobobobo8bobo2bobobobo$16bo19bo19bo19bo$10bo2b2obobo2bo8bo2b2obobo2bo8bo2b2obobo2bo8bo2b2obobo2bo$11bo4bo3bo10bo4bo3bo10bo4bo3bo10bo4bo3bo$11bo8bo10bo8bo10bo8bo10bo8bo$$$$$$$$
3o2bobo2b3o7b3o2bobo2b3o7b3o2bobo2b3o7b3o2bobo2b3o$6bo19bo19bo19bo$bob2obob2obo9bob2obob2obo9bob2obob2obo9bob2obob2obo9b2o$o5bo9bo9bo9bo9bo9bo9bo9bo5bo$2o9bob2obob2obo9bob2obob2obo9bob2obob2obo9bob2obob2obo$16bo19bo19bo19bo$10b3o2bobo2b3o7b3o2bobo2b3o7b3o2bobo2b3o7b3o2bobo2b3o$$$$$$$$
4b2o2b3o$4bobo$9bob2o$bo3b2ob3o6b2o2b3o$bo7bo7bobo$o2b2o4bo3b2o7bob2o$7bo3bo2bo3b2ob3o6b2o2b3o$obo4b2o2bobo8bo7bobo$2o14b2o4bo3b2o7bob2o$10bo2bo6bo3bo2bo3b2ob3o$10bob4o4b2o2bobo8bo10b2o$10bo2bo3bo11b2o4bo3b2o6bo$12bo3b2o5bo2bo6bo3bo2bo3bobo$12bo10bob4o4b2o2bobo$23bo2bo3bo11b2ob3o$25bo3b2o5bo2bo$25bo10bob4o$36bo2bo3bo$38bo3b2o$38bo$$$$$$$$
2ob2o3b2o2b2o3b2o2b2o3b2o2b2o3b2o2b2o3b2o$2ob2o3b2o2bo2bo2bo2b2o3b2o2bo2bo2bo2b2o3b2o$5b3o15b3o15b3o4bo$6ob8ob8ob8ob8ob6o$o13b3o15b3o$3bo2bo2bo2b2o3b2o2bo2bo2bo2b2o3b2o2bo2bo2bob2o$3b2o3b2o2b2o3b2o2b2o3b2o2b2o3b2o2b2o3b2ob2o$$$$$$$$
3obobob3o7b3obobob3o7b3obobob3o7b3obobob3o$5bo17bo17bo17bo$bobobobobo9bobobobobo9bobobobobo9bobobobobo$o3bobo7bo7bobo7bo7bobo7bo7bobo7bo3b2o$2o3bo3bobobobobobo3bo3bobobobobobo3bo3bobobobobobo3bo3bobobobobobo$14bo17bo17bo17bo$9bo2bobobo2bo7bo2bobobo2bo7bo2bobobo2bo7bo2bobobo2bo$10bo3bo3bo9bo3bo3bo9bo3bo3bo9bo3bo3bo$10bo7bo9bo7bo9bo7bo9bo7bo$$$$$$$$
3o$12b2o$bob2o3bo3bo3b2o$o7bo4bobobo$2o3b2o2bo$11bobobo$7bobobo13b2o$13bo2b2o3bo3bo3b2o$5bobobo4bo6bo4bobobo$5b2o3bo3bo3b2o2bo$9b2o13bobobo$20bobobo13b2o$26bo2b2o3bo3bo3b2o$18bobobo4bo6bo4bobobo$18b2o3bo3bo3b2o2bo$22b2o13bobobo$33bobobo13b2o$39bo2b2o3bo3bo3b2o$31bobobo4bo6bo4bobobo$31b2o3bo3bo3b2o2bo$35b2o13bobobo$46bobobo$52bo2b2o3b2o$44bobobo4bo7bo$44b2o3bo3bo3b2obo$48b2o$59b3o$$$$$$$$
3obobob3o9b3obobob3o9b3obobob3o9b3obobob3o$5bo19bo19bo19bo$bobobobobo11bobobobobo11bobobobobo11bobobobobo$o3bobo17bobo17bobo17bobo$2o3bo3bobo3bo3bobo3bo3bobo3bo3bobo3bo3bobo3bo3bobo3bo3bobo3bo3b2o$14bobo17bobo17bobo17bobo3bo$11bobobobobo11bobobobobo11bobobobobo11bobobobobo$15bo19bo19bo19bo$10b3obobob3o9b3obobob3o9b3obobob3o9b3obobob3o$$$$$$$$
3o7bo9b3o7bo9b3o7bo9b3o7bo$6bo3bo15bo3bo15bo3bo15bo3bo$bob2obobo2bo9bob2obobo2bo9bob2obobo2bo9bob2obobo2bo$o5bo9bo9bo9bo9bo9bo9bo9bo3b2o$2o3bobobobo3bobobobo3bobobobo3bobobobo3bobobobo3bobobobo3bobobobo3bobobobo$6bo9bo9bo9bo9bo9bo9bo9bo$11bob2obobo2bo9bob2obobo2bo9bob2obobo2bo9bob2obobo2bo$16bo3bo15bo3bo15bo3bo15bo3bo$10b3o7bo9b3o7bo9b3o7bo9b3o7bo$$$$$$$$
3ob3o$$bobobo$o5bo$2o3b2o$$$$$$$$
3b2obo$3bo3b2o$4bo$6bo20b2o$6bo3b2o2bo11bobo$8bo2bo2b3o$8bobo6bo6b2o2bo$14b2obo9bo$10bo3bo2b2o3b2o3bo$15b2o$8bobobo4b2obobobo$6b3obob5o6b2o$5bo3bobo5b2o$5bobobobo2bo2bo$4b2ob2o2bobobobo2b2ob2o$11bo2bo2bobobobo$10b2o5bobo3bo$4b2o6b5obob3o$4bobobob2o4bobobo$12b2o$bo3b2o3b2o2bo3bo$bo9bob2o$o2b2o6bo6bobo$12b3o2bo2bo$obo11bo2b2o3bo$2o20bo$24bo$20b2o3bo$22bob2o$$$$$$$$
2b2o2bo$2bobobo$6bo$4bo$3bo2bo$2bob2o$3bo2bo$4bo$6bo$4bo$o6b2o$obobobo$o$2bo$2bo$4bo$b3obo$4bo$2bo$4bo$2o6bo$2bobobobo$8bo$6bo$5bo2bo$4bob2o$5bo2bo$6bo$8bo$6bo$2bo6b2o$2bobobobo$2bo$4bo$4bo$6bo$3b3obo$6bo$4bo$6bo$2b2o6bo$4bobobobo$10bo$8bo$7bo2bo$6bob2o$7bo2bo$8bo$10bo$8bo$4bo6b2o$4bobobobo$4bo$6bo$6bo$8bo$5b3obo$8bo$6bo$8bo$4b2o6bo$6bobobobo$12bo$10bo$9bo2bo$8bob2o$9bo2bo$10bo$12bo$10bo$6bo6b2o$6bobobobo$6bo$8bo$8bo$10bo$7b3obo$10bo$8bo$10bo$6b2o3bo$8bob2o$$$$$$$$
b3o13b3o13b3o13b3o$$2b2obo12b2obo12b2obo12b2obo$6b2o14b2o14b2o14b2o$2bo15bo15bo15bo$8bo15bo15bo15bo$2o14b2o14b2o14b2o$6bobobo11bobobo11bobobo11bobobo$bo2b2o11bo2b2o11bo2b2o11bo2b2o$10bobo13bobo13bobo13bobo$bobo9bo3bobo9bo3bobo9bo3bobo9bo$b2o5b2o3bo10b2o3bo10b2o3bo10b2o3bo2b2o$15bobo13bobo13bobo13bobo$9bo15bo15bo15bo$15bo15bo15bo15bo$10b2o2bo11b2o2bo11b2o2bo11b2o2bo$14bo15bo15bo15bo$9bo2bo12bo2bo12bo2bo12bo2bo$10bo15bo15bo15bo$10bo15bo15bo15bo$$$$$$$$
b2o$bobo3bo$5bobobo$2bo2bobobo$3bobob2o2bo$bo2bo$10b2o$b2o3bobo$4bo3bobobo$3o2bo5b2o$6bo$4bo11bo$4bobobo3bobobo$4bo5bo3bobo$8bo2bo$12bo2bo2b3o$9b3o4bo$14bo2bobo$8b4o$11bo2b2o3bobo3bo$9b2o12bobobo$13bobo4bo2bobobo$11bobo2bo4bobob2o2bo$15b2o2bo2bo$28b2o$19b2o3bobo$22bo3bobobo$18b3o2bo5b2o$24bo$22bo11bo$22bobobo3bobobo$22bo5bo3bobo$26bo2bo$30bo2bo2b3o$27b3o4bo$32bo2bobo$26b4o8bo$29bo2b2o3b2o$27b2o$31bobo$29bobo2bo$33b2o$$$$$$$$
2b2o$bo5b2o$4bobo2bo$2b2o3bobo$o3b3obo$4o2bo$4bo2b4o$2bob3o3bo$bobo3b2o$bo2bobo5b2o$2b2o5bobo2bo$7b2o3bobo$5bo3b3obo$5b4o2bo$9bo2b4o$7bob3o3bo$6bobo3b2o$6bo2bobo5b2o$7b2o5bobo2bo$12b2o3bobo$10bo3b3obo$10b4o2bo$14bo2b4o$12bob3o3bo$11bobo3b2o$11bo2bobo5b2o$12b2o5bobo2bo$17b2o3bobo$15bo3b3obo$15b4o2bo$19bo2b4o$17bob3o3bo$16bobo3b2o$16bo2bobo$17b2o5bo$22b2o$$$$$$$$
3ob3o$$bobobo$o$2o3bobo$6b2o$$$$$$$$
3o7bo11b3o7bo11b3o7bo11b3o7bo$6bo3bo17bo3bo17bo3bo17bo3bo$bob2obobo2bo11bob2obobo2bo11bob2obobo2bo11bob2obobo2bo$o5bo21bo21bo21bo$2o3bobobobo5bo3bobo3bobobobo5bo3bobo3bobobobo5bo3bobo3bobobobo5bo3b2o$6bo9bobo9bo9bobo9bo9bobo9bo9bobo3bo$11bobobobobobo11bobobobobobo11bobobobobobo11bobobobobobo$17bo21bo21bo21bo$11bo2bobobob3o10bo2bobobob3o10bo2bobobob3o10bo2bobobob3o$12bo21bo21bo21bo$12bo21bo21bo21bo$$$$$$$$
2b2o$bo$4bo$2b2o2bo3bo$o3b3o2bobo$4o5b2o$4b5o$2b2o5b4o$bobo2b3o3bo$2bo3bo2b2o$8bo$11bo$9b2o2bo3bo$7bo3b3o2bobo$7b4o5b2o$11b5o$9b2o5b4o$8bobo2b3o3bo$9bo3bo2b2o$15bo$18bo$16b2o2bo3bo$14bo3b3o2bobo$14b4o5b2o$18b5o$16b2o5b4o$15bobo2b3o3bo$16bo3bo2b2o$22bo$25bo$23b2o2bo3bo$21bo3b3o2bobo$21b4o5b2o$25b5o$23b2o5b4o$22bobo2b3o3bo$23bo3bo2b2o$29bo$32bo$30b2o$$$$$$$$
3b2obo$3bo3b2o$4bo$6bo$4bo$3bob3o$4bo$6bo$6bo$8bo$4bobobo$o7bo$obobo$o$2bo$2bo$4bo$b3obo$4bo$2bo$4bo$2o$2bobobobo$9b2o$6bo$8bo$6bo$5bob3o$6bo$8bo$8bo$10bo$6bobobo$2bo7bo$2bobobo$2bo$4bo$4bo$6bo$3b3obo$6bo$4bo$6bo$2b2o$4bobobobo$11b2o$8bo$10bo$8bo$7bob3o$8bo$10bo$10bo$12bo$8bobobo$4bo7bo$4bobobo$4bo$6bo$6bo$8bo$5b3obo$8bo$6bo$8bo$4b2o$6bobobobo$13b2o$10bo$12bo$10bo$9bob3o$10bo$12bo$12bo$14bo$10bobobo$6bo7bo$6bobobo$6bo$8bo$8bo$10bo$7b3obo$10bo$8bo$10bo$6b2o3bo$8bob2o$$$$$$$$
2bo2b2o$2bobobo$2bo$4bo$2bo6b3o$4bo8bo$2o3bo3bo3bobo$5bo$bo5bobobo4b2o$3bo8b2o$3bobo2bo7bo$7bo6bo$7bo6bo$12bo$8bo6b2o$8bobobobo$8bo$10bo$8bo6b3o$10bo8bo$6b2o3bo3bo3bobo$11bo$7bo5bobobo4b2o$9bo8b2o$9bobo2bo7bo$13bo6bo$13bo6bo$18bo$14bo6b2o$14bobobobo$14bo$16bo$14bo6b3o$16bo8bo$12b2o3bo3bo3bobo$17bo$13bo5bobobo4b2o$15bo8b2o$15bobo2bo7bo$19bo6bo$19bo6bo$24bo$20bo6b2o$20bobobobo$20bo$22bo$20bo6b3o$22bo8bo$18b2o3bo3bo3bobo$23bo$19bo5bobobo4b2o$21bo8b2o$21bobo2bo7bo$25bo6bo$25bo6bo$30bo$29bo3b2o$29b2obo$$$$$$$$
2b2o$bo6bo$4bo2bobo$2b2o3bo2bo$o3b3o2b2o$5obo$6bob5o$2b2o2b3o3bo$2bo2bo3b2o$3bobo2bo6bo$4bo6bo2bobo$9b2o3bo2bo$7bo3b3o2b2o$7b5obo$13bob5o$9b2o2b3o3bo$9bo2bo3b2o$10bobo2bo6bo$11bo6bo2bobo$16b2o3bo2bo$14bo3b3o2b2o$14b5obo$20bob5o$16b2o2b3o3bo$16bo2bo3b2o$17bobo2bo6bo$18bo6bo2bobo$23b2o3bo2bo$21bo3b3o2b2o$21b5obo$27bob5o$23b2o2b3o3bo$23bo2bo3b2o$24bobo2bo$25bo6bo$30b2o$$$$$$$$
2b2o$2b2o$$2b4o$bo4bo$2bo2bo$b2o2b2o$o$b3ob2o$3b2o2bo$b3ob2o$o3bo$4bo$b3o$$b3o$4bo$o3bo$b3o$b2o$2bo$3b2o$$2bo2bo$bob2o$bob2o$2b2o$$2b2o$bob2o$bob2o$2bo2bo$$3b2o$2bo$b2o$b3o$o3bo$4bo$b3o$$b3o$4bo$o3bo$b3o$b2o$2bo$3b2o$$2bo2bo$bob2o$bob2o$2b2o$$2b2o$bob2o$bob2o$2bo2bo$$3b2o$2bo$b2o$b3o$o3bo$4bo$b3o$$b3o$4bo$o3bo$b3ob2o$3b2o2bo$b3ob2o$o$b2o2b2o$2bo2bo$bo4bo$2b4o$$2b2o$2b2o$$$$$$$$
3ob3o$$b2o3bo$$bo2bobobo$3bo3b2o$3bo$$$$$$$$
2obo$o3b2o$bo$3bo$3bo3b2o$5bo2bo$5bobo$$5bo5b2o$4bo5bobo4b2o$3bo2bo9bo2bo$2bob2o2bob2o3bobo2bo$2bo2bobo7bob2obo$3bo2bo5b2o5bo$4b2o4bo6b2o$10b2o$16bo$16bo3b2o$14bo3bo2bo$14b2o2bobo$$18bo5b2o$17bo5bobo4b2o$16bo2bo9bo2bo$15bob2o2bob2o3bobo2bo$15bo2bobo7bob2obo$16bo2bo5b2o5bo$17b2o4bo6b2o$23b2o$29bo$29bo3b2o$27bo3bo2bo$27b2o2bobo$$31bo5b2o$30bo5bobo4b2o$29bo2bo9bo2bo$28bob2o2bob2o3bobo2bo$28bo2bobo7bob2obo$29bo2bo5b2o5bo$30b2o4bo6b2o$36b2o$42bo$42bo$40bo3bo$40b2o2bo$46bo$44bo$44bobobo$44bo2b2o$$$$$$$$
5b2obo$5bo3b2o$6bo$8bo$7bo$2o7bo$o4b2o$bobo3bobobo$4bobo8b3o$3o8bobo$6bobobo3bobo$11b2o$8bo7bobobo$10bo10b2o$9bo8bo$11bo8bo$7b2o10bo$9bobobo7bo$17b2o$13bobo3bobobo$16bobo8b3o$12b3o8bobo$18bobobo3bobo$23b2o$20bo7bobobo$22bo10b2o$21bo8bo$23bo8bo$19b2o10bo$21bobobo7bo$29b2o$25bobo3bobobo$28bobo8b3o$24b3o8bobo$30bobobo3bobo$35b2o$32bo7bobobo$34bo10b2o$33bo8bo$35bo8bo$31b2o10bo$33bobobo7bo$41b2o$37bobo3bobobo$40bobo8b3o$36b3o8bobo$42bobobo3bobo$47b2o4bo$44bo7b2o$46bo$45bo$47bo$43b2o3bo$45bob2o$$$$$$$$
3b2obo$3bo3b2o$4bo$6bo$4bo$7b2o$3b2o$8bo$4b3o$7bo$5bo$5bo$bo5bo$bobobobo$bo5bo$3bo$3bo$bo$2b3o$o$4b2o$2o$4bo$2bo$4bo$2o6bo$2bobobobo$8bo$6bo$8bo$4b2o$8b2o$4bo$6b3o$5bo$7bo$7bo$3bobo$b2o5b2o$5bobo$3bo$3bo$5bo$2b3o$6bo$b2o$5b2o$2bo$4bo$2bo$2bobobobo$2bo6b2o$6bo$8bo$6bo$9b2o$5b2o$10bo$6b3o$9bo$7bo$7bo$3bo5bo$3bobobobo$3bo5bo$5bo$5bo$3bo$4b3o$2bo$6b2o$2b2o$6bo$4bo$6bo$2b2o6bo$4bobobobo$10bo$8bo$10bo$6b2o$10b2o$6bo$8b3o$7bo$9bo$9bo$5bobo$3b2o5b2o$7bobo$5bo$5bo$7bo$4b3o$8bo$3b2o$7b2o$4bo$6bo$4bo$4bobobo$4bo2b2o$$$$$$$$
3ob3o$$b2o3bo$$bo2bobobo$3bo5bo$3bo4b2o$$$$$$$$
3b2obo$3bo3b2o$4bo$6bo$4bo$6bo$3b3o$7bo$4b3o$7bo$5bo$5bo$bo5bo$bobobobo$bo5bo$3bo$3bo$bo$2b3o$bo$3b3o$2bo$4bo$2bo$4bo$2o$2bobobobo$9b2o$6bo$8bo$6bo$8bo$5b3o$9bo$6b3o$9bo$7bo$7bo$3bo5bo$3bobobobo$3bo5bo$5bo$5bo$3bo$4b3o$3bo$5b3o$4bo$6bo$4bo$6bo$2b2o$4bobobobo$11b2o$8bo$10bo$8bo$10bo$7b3o$11bo$8b3o$11bo$9bo$9bo$5bo5bo$5bobobobo$5bo5bo$7bo$7bo$5bo$6b3o$5bo$7b3o$6bo$8bo$6bo$8bo$4b2o$6bobobobo$13b2o$10bo$12bo$10bo$12bo$9b3o$13bo$10b3o$13bo$11bo$11bo$7bo5bo$7bobobobo$7bo5bo$9bo$9bo$7bo$8b3o$7bo$9b3o$8bo$10bo$8bo$10bo$6b2o3bo$8bob2o$$$$$$$$
bo2b2o$bobobo$bo$3bo$bo$4b2o$2o$5bo$b3o$4bo$2bo$2bo$4bo$2o6bo$2bobobobo$8bo$6bo$8bo$4b2o$8b2o$4bo$6b3o$5bo$7bo$7bo$5bo$bo6b2o$bobobobo$bo$3bo$bo$4b2o$2o$5bo$b3o$4bo$2bo$2bo$4bo$2o6bo$2bobobobo$8bo$6bo$8bo$4b2o$8b2o$4bo$6b3o$5bo$7bo$7bo$5bo$bo6b2o$bobobobo$bo$3bo$bo$4b2o$2o$5bo$b3o$4bo$2bo$2bo$4bo$2o6bo$2bobobobo$8bo$6bo$8bo$4b2o$8b2o$4bo$6b3o$5bo$7bo$7bo$5bo$bo6b2o$bobobobo$bo$3bo$bo$4b2o$2o$5bo$b3o$4bo$2bo$2bo$4bo$2o6bo$2bobobobo$8bo$6bo$8bo$4b2o$8b2o$4bo$6b3o$5bo$7bo$7bo$5bo$4bo3b2o$4b2obo$$$$$$$$
4b2o2b3o$4bobo$9bob2o$bo3b2ob3o6b2o2b3o$bo7bo7bobo$o2b2o4bo3b2o7bob2o$7bo3bo2bo3b2ob3o6b2o2b3o$obo4b2o2bobo8bo7bobo$2o14b2o4bo3b2o7bob2o$10bo2bo6bo3bo2bo3b2ob3o6b2o2b3o$10bob4o4b2o2bobo8bo7bobo$10bo2bo3bo11b2o4bo3b2o7bob2o$12bo3b2o5bo2bo6bo3bo2bo3b2ob3o$12bo10bob4o4b2o2bobo8bo10b2o$23bo2bo3bo11b2o4bo3b2o6bo$25bo3b2o5bo2bo6bo3bo2bo3bobo$25bo10bob4o4b2o2bobo$36bo2bo3bo11b2ob3o$38bo3b2o5bo2bo$38bo10bob4o$49bo2bo3bo$51bo3b2o$51bo$$$$$$$$
3ob3o$$b2o3bo$$bo2bobobo$3bo$3bo4bobo$9b2o$$$$$$$$
4b2o2b3o$4bobo$9bob2o$bo3b2ob3o8b2o2b3o$bo7bo9bobo$o2b2o4bo14bob2o$7bo3bo2b2o4b2ob3o8b2o2b3o$obo4b2o2bo3bo8bo9bobo$2o11bo4b2o4bo14bob2o$13bo8bo3bo2b2o4b2ob3o8b2o2b3o$12b3ob2o4b2o2bo3bo8bo9bobo$10b2obo14bo4b2o4bo14bob2o$16bobo9bo8bo3bo2b2o4b2ob3o$12b3o2b2o8b3ob2o4b2o2bo3bo8bo$25b2obo14bo4b2o4bo11b2o$31bobo9bo8bo3bo2b2o4bobo$27b3o2b2o8b3ob2o4b2o2bo3bo$40b2obo14bo4b2o2bo$46bobo9bo7bo$42b3o2b2o8b3ob2o3bo$55b2obo$61bobo$57b3o2b2o$$$$$$$$
5bo2b2o$5bobobo$5bo$7bo$2bo4bo$2bo6bo$o2bob2o$7bobobo2b3o$2o2bobo$11bobo2b2o$b3o2bobobo$11b2obo2bo$8bo6bo$10bo4bo$10bo$12bo$6bobobobo$4b2o6bo$8bo$6bo$8bo$b3o2bo$6bobobo4bo$2o2bo2bo7bo$10bobobo2bo$o2bobobo$2bo7bo2bo2b2o$2bo4bobobo$11bo2b3o$9bo$11bo$9bo$5bo6b2o$5bobobobo$5bo$7bo$2bo4bo$2bo6bo$o2bob2o$7bobobo2b3o$2o2bobo$11bobo2b2o$b3o2bobobo$11b2obo2bo$8bo6bo$10bo4bo$10bo$12bo$6bobobobo$4b2o6bo$8bo$6bo$8bo$b3o2bo$6bobobo4bo$2o2bo2bo7bo$10bobobo2bo$o2bobobo$2bo7bo2bo2b2o$2bo4bobobo$11bo2b3o$9bo$11bo$9bo$8bo3b2o$8b2obo$$$$$$$$
4b2o2b3o$4bo$5bobo2b2o$$b2o3bo3bo$bo$2bobobobobo2b3o$$2o3bo4bobo2b2o$$o2bobobo3bo3bo$2bo$2bo4bobobobobo2b3o$$5b2o3bo4bobo2b2o$$5bo2bobobo3bo3bo$7bo$7bo4bobobobobo2b3o$$10b2o3bo4bobo2b2o$$10bo2bobobo3bo3bo$12bo$12bo4bobobobobo2b3o$$15b2o3bo4bobo2b2o$$15bo2bobobo3bo3bo$17bo$17bo4bobobobobo2b3o$$20b2o3bo4bobo2b2o$$20bo2bobobo3bo3bo$22bo$22bo4bobobobobo2b3o$$25b2o3bo4bobo2b2o$$25bo2bobobo3bo3bo$27bo$27bo4bobobobobo2b3o$$30b2o3bo4bobo2b2o$$30bo2bobobo3bo3bo$32bo$32bo4bobobobobo$44b2o$35b2o3bo$$35bo2bobobo$37bo3b2o$37bo$$$$$$$$
7bobo$9bobo$5b2o4bo$7bo3bo$9bo$b3o3bo$7bobobo4bo$2bob2o2bo7bo$bo9bobobo2bo$b2o3bobo$11bo2bo2b2o$8bobobo$12bo2b3o$10bo$12bo$10bo$13b2o8bobo$6bobobobo12bobo$4b2o15b2o4bo$8bo14bo3bo$6bo18bo$8bo8b3o3bo$b3o2bo16bobobo4bo$6bobobo7bob2o2bo7bo$2o2bo2bo19bobobo2bo$10bobo3bobo3bobo$o2bobobo19bo2bo2b2o$2bo7bo2b2obo7bobobo$2bo4bobobo16bo2b3o$11bo3b3o8bo$9bo18bo$7bo3bo14bo$7bo4b2o15b2o$7bobo12bobobobo$9bobo8b2o$24bo$22bo$24bo$17b3o2bo$22bobobo$16b2o2bo2bo$26bobo3b2o$16bo2bobobo9bo$18bo7bo2b2obo$18bo4bobobo$27bo3b3o$25bo$23bo3bo$23bo4b2o$23bobo$25bobo$$$$$$$$
2o2bo$obobo$4bo$2bo$4bo2b2o$4bo3bo$6bo$6bo$11b2o$4b2o6bo4b2o$3bo5b2o5bo2bo$2bob2obo7bobo2bo$2bo2bobo3b2obo2b2obo$3bo2bo9bo2bo$4b2o4bobo5bo$10b2o5bo$$15bobo2b2o$14bo2bo3bo$14b2o3bo$19bo$24b2o$17b2o6bo4b2o$16bo5b2o5bo2bo$15bob2obo7bobo2bo$15bo2bobo3b2obo2b2obo$16bo2bo9bo2bo$17b2o4bobo5bo$23b2o5bo$$28bobo2b2o$27bo2bo3bo$27b2o3bo$32bo$37b2o$30b2o6bo4b2o$29bo5b2o5bo2bo$28bob2obo7bobo2bo$28bo2bobo3b2obo2b2obo$29bo2bo9bo2bo$30b2o4bobo5bo$36b2o5bo$$41bobo2b2o$40bo2bo3bo$40b2o3bo$45bo$50b2o$43b2o6bo$42bo5b2o$41bob2obo$41bo2bobo3b2ob3o$42bo2bo$43b2o7bobo$55bo$54b2o$$$$$$$$
3ob3o$$b2o3bo$$bo2bobobo$3bo$3bo4bobo$11bo$10b2o$$$$$$$$
8b2obo$8bo3b2o$9bo$11bo$9bo$11bo2b3o$2bo4bobobo$2bo7bo2bo2b2o$o2bobobo$10bobobo2bo$2o2bo2bo7bo$6bobobo4bo$b3o2bo13bobo$8bo13bobo$6bo11b2o4bo$8bo11bo3bo$4b2o16bo5bo$6bobobo9bo7bo$23b2obo2bo$10bobo5bobobo$23bobobobo$12bobobobo$19bobobo5bobo$12bo2bob2o$13bo7bo9bobobo$13bo5bo16b2o$17bo3bo11bo$17bo4b2o11bo$17bobo13bo$19bobo13bo2b3o$26bo4bobobo$26bo7bo2bo2b2o$24bo2bobobo$34bobobo2bo$24b2o2bo2bo7bo$30bobobo4bo$25b3o2bo13bobo$32bo13bobo$30bo11b2o4bo$32bo11bo3bo$28b2o16bo5bo$30bobobo9bo7bo$47b2obo2bo$34bobo5bobobo$47bobobobo$36bobobobo9b2o$43bobobo$36bo2bob2o$37bo7bo$37bo5bo$41bo3bo$41bo4b2o$41bobo$43bobo$$$$$$$$
3ob3o$$b2o3bo$$bo2bobobo$3bo$3bo4bobo$$10bobo$11b2o$$$$$$$$
2b2o$2b2o$$2b4o$2bo2bo$$2bobo$bo$b2o2b2o$7bo2b2ob2o$11bobobo$7bobobo2b2o$2ob2o5b2o$2obobobo4b4o$3bo8bo2bo$3b2o2bo$8b2o2bobo$$10bobo2b2o$17bo2b2ob2o$9bo2bo8bobobo$9b4o4bobobo2b2o$13b2o5b2o$9b2o2bobobo4b4o$9bobobo8bo2bo$10b2ob2o2bo$18b2o2bobo$$20bobo2b2o$27bo2b2ob2o$19bo2bo8bobobo$19b4o4bobobo2b2o$23b2o5b2o$19b2o2bobobo4b4o$19bobobo8bo2bo$20b2ob2o2bo$28b2o2bobo$$30bobo2b2o$37bo2b2o$29bo2bo8bo$29b4o4bobobob2o$33b2o5b2ob2o$29b2o2bobobo$29bobobo$30b2ob2o2bo$38b2o2b2o$43bo$40bobo$$39bo2bo$39b4o$$41b2o$41b2o$$$$$$$$
4b2o$3bo2bo$4bobo$3b2ob2o$2bo5bo$4b2obo$obo2bob2o$2o3bo3bo$7b2obobo$3bobo2bob2obo$3b2o3bo4b3o$10b2o4bo$6bobo2bob2obo$6b2o3bobobo$$9bobo$6bobo5b2o$5bob2obo4bo$5bo4b3obo7b2o$6b3o8b2o2bo2bo$8bob2obo4bo3bobo$9bobob3obo3b2ob2o$12bo7bo5bo$13b2obo5b2obo$14bob3obo2bob2o$13bo9bo3bo$14b2ob2o6b2obobo$15bobo3bobo2bob2obo$15bo2bo2b2o3bo4b3o$16b2o10b2o4bo$24bobo2bob2obo$24b2o3bobobo$$27bobo$24bobo5b2o$23bob2obo4bo$23bo4b3obo$24b3o8b2o$26bob2obo4bo$27bobob3obo$30bo7b2o$31b2obo4bo$32bob3obo$31bo$32b2ob2o$33bobo$33bo2bo$34b2o$$$$$$$$
6b2o$5bo2bo$5bobobo$4b2obo2bo$3bo3b3obo$5b2o4bo$bobo2bob3ob2o$b2o3bobo2bo2bo$11bobobo$4bobo3b2obo2bo$3bo5bo3b3obo$b3obo5b2o4bo$o4b3obo2bob3ob2o$ob3o7bobo2bo2bo$bo2bob2o9bobobo$2bobobo3bobo3b2obo2bo$3bo2bo2bo5bo3b3obo$4b2ob3obo5b2o4bo$6bo4b3obo2bob3ob2o$6bob3o7bobo2bo2bo$7bo2bob2o9bobobo$8bobobo3bobo3b2obo2bo$9bo2bo2bo5bo3b3obo$10b2ob3obo5b2o4bo$12bo4b3obo2bob3o$12bob3o7bobo$13bo2bob2o$14bobobo3bobo$15bo2bo2bo5b2o$16b2ob3obo4bo$18bo4b3obo$18bob3o$19bo2bob2o$20bobobo$21bo2bo$22b2o$$$$$$$$
3ob3o$$b2o3bo$$bo2bobobo$3bo3b2o$3bo5b2o$9bobo$10bo$$$$$$$$
2obo$o3b2o$bo$3bo$3bo3b2o$5bo2bo$5bobo$$5bo5b2o$4bo5bobo4b2o$3bo2bo9bo2bo$2bob2o2bob2o3bobo2bo$2bo2bobo7bob2obo$3bo2bo5b2o5bo$4b2o4bo6b2o$10b2o$16bo$16bo3b2o$14bo3bo2bo$14b2o2bobo$$18bo5b2o$17bo5bobo4b2o$16bo2bo9bo2bo$15bob2o2bob2o3bobo2bo$15bo2bobo7bob2obo$16bo2bo5b2o5bo$17b2o4bo6b2o$23b2o$29bo$29bo3b2o$27bo3bo2bo$27b2o2bobo$$31bo5b2o$30bo5bobo4b2o$29bo2bo9bo2bo$28bob2o2bob2o3bobo2bo$28bo2bobo7bob2obo$29bo2bo5b2o5bo$30b2o4bo6b2o$36b2o$42bo$42bo3b2o$40bo3bo2bo$40b2o2bobo$$44bo5b2o$43bo5bobo4b2o$42bo2bo9bo2bo$41bob2o2bob2o3bobo2bo$41bo2bobo7bob2obo$42bo2bo5b2o5bo$43b2o4bo6b2o$49b2o$55bo$55bo$53bo3bo$53b2o2bo$59bo$57bo$57bobobo$57bo2b2o$$$$$$$$
3ob3o$$bobobo$o5bo$2o3b2o$7b2o$7bo$4b2obo$4bobo$$$$$$$$
3ob3o$$bobobo$o$2o3bobo$6b2o$4o$o2bo$b2o$$$$$$$$
3ob3o$$bobobo$o5bo$2o3b2o$7b2o$7bo$4b2obo$4b2ob2o$$$$$$$$
3ob3o$$bobobo5b2o$o11bo$2o3bobobobo$$5bo2bo2bo$6bo3bo$6bo3bo$$$$$$$$
3ob3o$$bobobo$o5bo$2o3b2o$7b2o$4o3bo$o2bo4bo$7b2o$$$$$$$$
3ob3o$$bobobo$o5bo$2o3b2o$7b2o$2o5bo$obob2obo$3b2obo$$$$$$$$
3ob3o$$bobobo$o5bo$2o3b2o$7b2o$4o3bo$o2bo4bo$b2o4b2o$$$$$$$$
3o$$$$$$$$
3ob2ob2o$5bob2o$bobobo$o3b2ob2o$2o4bobo$6bo$3b2obo$2bo2bo$2b2o$$$$$$$$
3ob2ob2o$5bob2o$bobobo$o3b2ob2o$2o4bobo$6bo$3b2obo$bo2b2o$b2o$$$$$$$$
3ob2ob2o$5bob2o$bobobo$o3b2ob2o$2o4bobo$6bo$4o3bo$o2bo2b2o$$$$$$$$
3ob2ob2o$5bob2o$bobobo$o3b2ob2o$2o4bobo$6bo$4o3bo$o2bo4bo$7b2o$$$$$$$$
3ob2ob2o8bo$5bobobo3bo3bo$bobobobo3bobobo2bo$o4bo5bobo$2o10bobobobo$13bo3b2o$$$$$$$$
3ob2ob2o8b2o$5bobo10bo$bobobobo3bobobobo$o4bo3bo2bo$2o8bobobob3o$11bobo$12bo$$$$$$$$
11b2o$11bo3bo$13bobobo$12bo4bo$7b2o7bo2bo$7bobo2b2o2b3o$19bo$7bo2b3o3b2o$8bo7bobo$8bo3bo$4b2o10bobobo$4bo5bobobo3bobo$o4bo9bo4bo$obo3bobobo5bo$obobo10b2o$8bo3bo$2bobo7bo$3b2o3b3o2bo4b2o$bo16bo2bobo$2b3o2b2o2bobo5bobo$bo2bo19b2o$3bo4bo4bobo3b2o2bo$3bobobo15b4o$5bo3bo5bobo2bo$8b2o8bo4b3o$14b3o2bo3bo$26bo$11b2o5bobo3bo$11bo10bobo2b2o$8bo3bo3bobo3bo3bo$6b2o2bobo10bo$10bo3bobo5b2o$8bo$11bo3bo2b3o$9b3o4bo8b2o$14bo2bobo5bo3bo$8b4o15bobobo$11bo2b2o3bobo4bo4bo$9b2o19bo2bo$13bobo5bobo2b2o2b3o$11bobo2bo16bo$15b2o4bo2b3o3b2o$22bo7bobo$22bo3bo$18b2o10bobobo$18bo5bobobo3bobo$14bo4bo9bo4bo$14bobo3bobobo5bo$14bobobo10b2o$22bo3bo$16bobo7bo$17b2o3b3o2bo4b2o$15bo16bo2bobo$16b3o2b2o2bobo5bobo$15bo2bo19b2o$17bo4bo4bobo3b2o2bo$17bobobo15b4o$19bo3bo5bobo2bo$22b2o8bo4b3o$28b3o2bo3bo$40bo$25b2o5bobo3bo$25bo10bobo2b2o$22bo3bo3bobo3bo3bo$20b2o2bobo10bo$24bo3bobo5b2o$22bo$25bo3bo2b3o$23b3o4bo$28bo2bobo$22b4o8bo$25bo2b2o3b2o$23b2o$27bobo$25bobo2bo$29b2o$$$$$$$$
3ob2ob2o$5bobobo8b2o$bobobobo3bo6bobo$o4bo5bobob2obo$2o14bobob2o$15bo2bo$17bobo$$$$$$$$
3ob2o2b2o$5bo3bo$bobo2b3o$o3b2o$2o3bob2o$5bob2o$4obo$o2bobob2o$6bobo$$$$$$$$
3o2b3o4b3o2b3o$$bob2obo6bob2obo$o18bo$2o4bobo2bobo4b2o$$6bo2b2o2bo$7bo4bo$7bo4bo$$$$$$$$
3ob2ob2o$5bobobo$bobobobo3bo$o4bo5bobo8b2o$2o13bo6bobo$15bobob2obo$20bobob2o$19bo2bo$21bobo$$$$$$$$
3ob2ob2o4bo$5bobo3bobo$bobobobobobobo$o4bo$2o11bo$14bo$12bo2bo$13b2obo$12bo2bo$14bo$12bo$12bobobo$12bo2b2o$$$$$$$$
3ob2ob2o4bo$5bobo3bobo$bobobobobobobo$o4bo$2o11bo$14bo$12bo2bo$13b2obo$12bo2bo$14bo$12bo$12bobobo$12bo4bo$16b2o$$$$$$$$
3ob2ob2o6bo$5bobobo5bobo8b2o$bobobobo3bobo5bo6bobo$o4bo5bo7bobob2obo$2o22bobob2o$23bo2bo$25bobo$$$$$$$$
3ob2o$5bo$bobo2b2o$o3b2o2bo$2o3bobo$5bob2o$6bo3bo$7bob2o$2b2o2b2obo$2bobo2bobo$7bob2o$2bo2b2o$3bo$3bo$$$$$$$$
3ob2ob2o$5bobobob2o$bobobobo4bo$o4bo5bo$2o20bo$11bobob2ob2o2bo$11b2o3bobobo2bo$15bo2bo$17bobobobo$22b2o$$$$$$$$
3obobobobobobobobobobob3o$5bo3bo3bo3bo3bo$bobobobobobobobobobobobobo$o4bo3bo3bo3bo3bo4bo$2o23b2o$$$$$$$$
3ob2ob2o4bo$5bobo3bobo$bobobobobobobo$o4bo$2o11bo$$13b2o$18bobob3o$12b3obo2bo$17bobobobo$18bobo3bo$19bo3b2o$$$$$$$$
3o$5b2o$b2obobo$$2bobo$$4bobo3b3o$$6bobob2o$$2bo5bobo$2bo$bo2bobobo$$2b2o2bo$$4bobo5bo$12bo$6bobobo2bo$$8bo2b2o$$8bobo$7bo$7b2o$$$$$$$$
3o$5b2o$b2obobo$$2bobo$$4bobo3b3o$$6bobob2o$$8bobo$$3o3bobo$$b2obobo$$2bobo$$4bobo3b3o$$6bobob2o$$8bobo$$6bobo$6b2o$$$$$$$$
3o2b3o4b3o2b3o$$bob2obo6bob2obo$o23b2o$2o4bobo2bobo4bobo2bobo$$6bo2b2o2bo4bo2b2o2bo$7bo4bo6bo4bo$7bo4bo6bo4bo$$$$$$$$
3o$12b2o$bob2o3bo3bo3b2o$o7bo4bobobo$2o3b2o2bo$11bobobo$7bobobo$13bo2b2o3b2o$5bobobo4bo7bo$5b2o3bo3bo3b2obo$9b2o$20b3o$$$$$$$$
3o2bobo2bobo2bobo2bobo2bobo2b3o$6bo4bo4bo4bo4bo$bob2obob2obob2obob2obob2obob2obo$o5bo4bo4bo4bo4bo5bo$2o29b2o$$$$$$$$
3ob2ob2o4bo$5bobo3bobo$bobobobobobobo$o4bo$2o11bo$$13b2o$20bo$12b3obobobo$18bobo$$20bo$21bo$19bo2bo$20b2obo$19bo2bo$21bo$19bo$19bobobo$19bo2b2o$$$$$$$$
3o5b3o$4bo7bo$b2o2b2o2b2o2b2o$$bo2bo4bo2bo$$obobobobobobobob2o$2o15bo$5bo2bo4bo2bo$$5b2o2b2o2b2o2b2o$8bo7bo$4b3o5b3o$$$$$$$$
3o5b3o$4bo7bo$b2o2b2o2b2o2b2o$$bo2bo4bo2bo$17b2o$obobobobobobobobobo$2o$6bo2bo4bo2bo$$4b2o2b2o2b2o2b2o$6bo7bo$8b3o5b3o$$$$$$$$
3o$5b2o$b2obobo$$2bobo5bo$10bo$4bobobo2bo$$6bo2b2o$$3o3bobo$$b2obobo$$2bobo5bo$10bo$4bobobo2bo$$6bo2b2o$$3o3bobo$$b2obobo$$2bobo$$4bobo$5b2o$$$$$$$$
3o2b3o2b3o2b3o2b3o2b3o$$bob2obo4bob2obo4bob2obo$o26bo$2o4bob2obo4bob2obo4b2o$$5b3o2b3o2b3o2b3o$$$$$$$$
2ob2o6b2o$2obo8bo$3bo8bob2o$3bob2o2b2obo2bo$2b2obo4bobo$2bo3bo2bo3bo$3b2o6b2o$7b2o$5bo4bo$5bo4bo$3bo8bo$5bo4bo$bobobo4bobobo$o4bo4bo2b2o$2o$$$$$$$$
3ob2ob2o4bo$5bobo3bobo$bobobobobobobo$o4bo$2o11bo$$13b2o$20bo$12b3obobobo$18bobo$$20bo$$20b2o$25bobob3o$19b3obo2bo$24bobobobo$25bobo3bo$26bo3b2o$$$$$$$$
3o7bo9b3o7bo$6bo3bo15bo3bo$bob2obobo2bo9bob2obobo2bo$o5bo9bo9bo$2o3bobobobo3bobobobo3bobobobo$6bo9bo9bo3b2o$11bob2obobo2bo$16bo3bo$10b3o7bo$$$$$$$$
3o$b3o$$$$$$$$
3o2b3o4b3o2b3o4b3o2b3o$$bob2obo6bob2obo6bob2obo$o30bo$2o4bobo2bobo4bobo2bobo4b2o$$6bo2b2o2bo4bo2b2o2bo$7bo4bo6bo4bo$7bo4bo6bo4bo$$$$$$$$
2ob2ob2ob2o$o3bobo3bo$b3o3b3o$2bo$2bo$b3o3b3o$8bo$8bo6b2o$b3o3b3o5bo$o2b3o6b2obob2o$obo2bo2b2obobobo$b2o4bo5bobobo$15bo$$$$$$$$
2obo12bob2o$o3b2o8b2o3bo$bo16bo$3bo12bo$3bo12bo$5bo8bo$5bo8bo$7bo4bo$7bo4bo$9b2o$5b2o6b2o$4bo3bo2bo3bo$4b2obo4bobo$5bob2o2b2obo2bo$5bo8bob2o$2b2obo8bo$2b2ob2o6b2o$$$$$$$$
3o11bobo11bobo11b3o$15bo13bo$bob2o7b2obob2o7b2obob2o7b2obo$o7bo6bo6bo6bo6bo7bo$2o3b2obob2o7b2obob2o7b2obob2o3b2o$8bo13bo13bo$7bobo11bobo11bobo$$$$$$$$
3ob2ob2o4bo$5bobo3bobo$bobobobobobobo$o4bo$2o11bo$$13b2o$20bo$12b3obobobo$18bobo$$20bo$$20b2o$27bo$19b3obobobo$25bobo$$27bo$28bo$26bo2bo$27b2obo$26bo2bo$28bo$26bo$26bobobo$26bo2b2o$$$$$$$$
3o5b3o5b3o$4bo7bo7bo$b2o2b2o2b2o2b2o2b2o2b2o$$bo2bo4bo2bo4bo2bo$21bo$obobobobobobobobobob2o$2o$5bo2bo4bo2bo$$5b2o2b2o2b2o2b2o$8bo7bo$4b3o5b3o$$$$$$$$
3o2b3o2b3o2b3o2b3o2b3o$$bob2obo4bob2obo4bob2obo4b2o$o31bo$2o4bob2obo4bob2obo4bob2obo$$5b3o2b3o2b3o2b3o2b3o2b3o$$$$$$$$
2ob2obob2ob2o$bobob3obobo$o2bo5bo2bo$b2ob5ob2o$4bo3bo$3b2o3b2o$2obob3obob2o$o2bo5bo2bo$b2ob5ob2o$3bo5bo$3bobobobo$4b2ob2o$$$$$$$$
3o$5b2o$b2obobo$$2bobo$$4bobo3b3o$$6bobob2o$$2bo5bobo$2bo$bo2bobobo$$2b2o2bo$$4bobo5bo$12bo$6bobobo2bo$$8bo2b2o$$2b3o3bobo$$3b2obobo$$4bobo$$6bobo3b3o$$8bobob2o$$10bobo$$8bobo$8b2o$$$$$$$$
2obo$o3b2o$bo$3bo$3bo$bo$2b3o$o$b3o$o$2bo$2bo$4bobo$2o5b2o$2bobo$6bo$6bo$4bo$5b3o$3bo$4b3o$3bo$5bo$5bo$7bobo$3b2o5b2o$5bobo$9bo$9bo$7bo$8b3o$6bo$7b3o$6bo$8bo$8bo$10bo$6b2o3bo$8bob2o$$$$$$$$
3ob2ob2o4bo$5bobo3bobo$bobobobobobobo$o4bo$2o11bo$$13b2o$20bo$12b3obobobo$18bobo$$20bo$$20b2o$27bo$19b3obobobo$25bobo$$27bo$$27b2o$32bobob3o$26b3obo2bo$31bobobobo$32bobo3bo$33bo3b2o$$$$$$$$
3o2b3o4b3o2b3o4b3o2b3o$$bob2obo6bob2obo6bob2obo$o35b2o$2o4bobo2bobo4bobo2bobo4bobo2bobo$$6bo2b2o2bo4bo2b2o2bo4bo2b2o2bo$7bo4bo6bo4bo6bo4bo$7bo4bo6bo4bo6bo4bo$$$$$$$$
3o7bobo7bobo7bobo7bobo3b2o$6bo4bo4bo4bo4bo4bo4bo4bo5bo$bob2obob2obob2obob2obob2obob2obob2obob2obob2obo$o5bo4bo4bo4bo4bo4bo4bo4bo$2o3bobo7bobo7bobo7bobo7b3o$$$$$$$$
2ob2obob2ob2o$bobob3obobo$o2bo5bo2bo$b2ob5ob2o$4bo3bo$3b2o3b2o$2obob3obob2o$o2bo5bo2bo$2b2ob3ob2o$4bobobo$4bobobo$5b3o$$$5b3o$4bo3bo$4b2ob2o$$$$$$$$
3o13b3o13b3o$$bob2o12bob2o12bob2o$o4bo15bo15bo$2o3bo7bobobo3bo7bobobo3bo$7bo3b2o10bo3b2o10bo$3b2o10bo3b2o10bo3b2o3bo$5bobobo3bo7bobobo3bo7bob2o$13bo15bo$9bob2o12bob2o$$8b3o13b3o$$$$$$$$
3obobob3o7b3obobob3o$5bo17bo$bobobobobo9bobobobobo$o3bobo7bo7bobo7bo3b2o$2o3bo3bobobobobobo3bo3bobobobobobo$14bo17bo$9bo2bobobo2bo7bo2bobobo2bo$10bo3bo3bo9bo3bo3bo$10bo7bo9bo7bo$$$$$$$$
3o2b3o2b3o2b3o2b3o2b3o2b3o2b3o$$bob2obo4bob2obo4bob2obo4bob2obo$o36bo$2o4bob2obo4bob2obo4bob2obo4b2o$$5b3o2b3o2b3o2b3o2b3o2b3o$$$$$$$$
3o5b3o5b3o$4bo7bo7bo$b2o2b2o2b2o2b2o2b2o2b2o$$bo2bo4bo2bo4bo2bo$$obobobobobobobobobobobob2o$2o23bo$5bo2bo4bo2bo4bo2bo$$5b2o2b2o2b2o2b2o2b2o2b2o$8bo7bo7bo$4b3o5b3o5b3o$$$$$$$$
3o5b3o5b3o$4bo7bo7bo$b2o2b2o2b2o2b2o2b2o2b2o$$bo2bo4bo2bo4bo2bo$25b2o$obobobobobobobobobobobobobo$2o$6bo2bo4bo2bo4bo2bo$$4b2o2b2o2b2o2b2o2b2o2b2o$6bo7bo7bo$8b3o5b3o5b3o$$$$$$$$
2obo$o3b2o$bo$3bo$3bo$5bo$2b3obo$5bo$3bo$5bo$b2o6bo$3bobobobo$9bo$7bo$9bo$7bo2bo$8b2obo$7bo2bo$9bo$7bo$7bobobobo$7bo6b2o$11bo$13bo$13bo$15bo$12b3obo$15bo$13bo$15bo$11b2o6bo$13bobobobo$19bo$17bo$19bo$17bo2bo$18b2obo$17bo2bo$19bo$17bo$17bobobo$17bo2b2o$$$$$$$$
2o$obo$$2bobo$3b2o$$$$$$$$
2obo$o3b2o$bo$3bo3bo$3bo3bo$2b2obo2bo$bo2bo$b2o3bobo$12bo$8bobobo$12bo$10bo$11bo2b3o$10b2o$9bo2b2obo$9b2o$15bobobo$20b2o$17bo$19bo3bo$19bo3bo$18b2obo2bo$17bo2bo$17b2o3bobo$28bo$24bobobo$28bo$26bo$27bo2b3o$26b2o$25bo2b2obo$25b2o5bo$31b2o$$$$$$$$
3o11bobo11bobo11bobo11b3o$15bo13bo13bo$bob2o7b2obob2o7b2obob2o7b2obob2o7b2obo$o7bo6bo6bo6bo6bo6bo6bo7bo$2o3b2obob2o7b2obob2o7b2obob2o7b2obob2o3b2o$8bo13bo13bo13bo$7bobo11bobo11bobo11bobo$$$$$$$$
3ob2ob2o4bo$5bobo3bobo$bobobobobobobo$o4bo$2o11bo$$13b2o$20bo$12b3obobobo$18bobo$$20bo$$20b2o$27bo$19b3obobobo$25bobo$$27bo$$27b2o$34bo$26b3obobobo$32bobo$$34bo$$34b2o$39bobob3o$33b3obo2bo$38bobobobo$39bobo3bo$40bo3b2o$$$$$$$$
2o2bo$o2bobob2o$b3obobobo$5bobo2bo$b3obo2bobo$o3bob2obob2o$o3bobo2bo3bo$b3ob2obob3o$4bo3bobo$b3obo4bo$o2bobob4ob2o$2o3bo5bobo$5b5obo$9bobobo$7b2o3b2o$7bo$8bo$7b2o$$$$$$$$
2obo$o3b2o$bo$3bo20b2o$3bo3b2o2bo11bobo$5bo2bo2b3o$5bobo6bo6b2o2bo$11b2obo9bo$7bo3bo2b2o3b2o3bo$12b2o$5bobobo4b2obobobo$3b3obob5o6b2o$2bo3bobo5b2o$2bobobobo2bo2bo$b2ob2o2bobobobo$8bo2bobo$7b2o3bo$$$$$$$$
3o$5b2o$b2obobo$$2bobo5bo$10bo$4bobobo2bo$$6bo2b2o$$3o3bobo$$b2obobo$$2bobo5bo$10bo$4bobobo2bo$$6bo2b2o$$3o3bobo$$b2obobo$$2bobo5bo$10bo$4bobobo2bo$$6bo2b2o$$3o3bobo$$b2obobo$$2bobo5bo$10bo$4bobobo2bo$$6bo2b2o$$6bobo$5bo$5b2o$$$$$$$$
3o2b3o2b3o2b3o2b3o2b3o2b3o2b3o$$bob2obo4bob2obo4bob2obo4bob2obo4b2o$o41bo$2o4bob2obo4bob2obo4bob2obo4bob2obo$$5b3o2b3o2b3o2b3o2b3o2b3o2b3o2b3o$$$$$$$$
b2obo5bo10b2o$bo3b2ob2o2bo9bo$2bo9bo3b2ob3o$4bo5bo3bo2bobo$2bo13bo$bo2bo5bob2o4b2o$ob2o4b2o$o4bo7b2o4b2o3bo$b3obobo16bo$3bob2o7b2o4b2obo2bo$$15b2o5bo2b2o$$16b2o5b3o$$17b2o$$18b2o3bo$23bo$19b2obo2bo$$21bo2b2o$$22b3o$$$$$$$$
3ob2ob2o4bo$5bobo3bobo$bobobobobobobo$o4bo$2o11bo$$13b2o$20bo$12b3obobobo$18bobo$$20bo$$20b2o$27bo$19b3obobobo$25bobo$$27bo$$27b2o$34bo$26b3obobobo$32bobo$$34bo$$34b2o$41bo$33b3obobobo$39bobo$$41bo$42bo$40bo2bo$41b2obo$40bo2bo$42bo$40bo$40bobobo$40bo2b2o$$$$$$$$
3o5b3o5b3o5b3o$4bo7bo7bo7bo$b2o2b2o2b2o2b2o2b2o2b2o2b2o2b2o$$bo2bo4bo2bo4bo2bo4bo2bo$29bo$obobobobobobobobobobobobobob2o$2o$5bo2bo4bo2bo4bo2bo$$5b2o2b2o2b2o2b2o2b2o2b2o$8bo7bo7bo$4b3o5b3o5b3o$$$$$$$$
2o$obo$$2bobo$5bo$4b2o$$$$$$$$
3o11bobo11bobo11bobo11bobo$15bo13bo13bo13bo$bob2o7b2obob2o7b2obob2o7b2obob2o7b2obob2o3b2o$o7bo6bo6bo6bo6bo6bo6bo6bo7bo$2o3b2obob2o7b2obob2o7b2obob2o7b2obob2o7b2obo$8bo13bo13bo13bo$7bobo11bobo11bobo11bobo11b3o$$$$$$$$
b2ob2ob2o$obobo3bo$obo2b2o$bobobob4o$3bo6bo$2bobo2b3o$3bobobob4o$5bo6bo$4bobo2b3o$5bobobob4o$7bo6bo$6bobo2b3o$7bobobob4o$9bo6bo$8bobo2b3o$9bobobob4o$11bobo5bo$11bobo2b3o$10b2obo2bo$14b2o$$$$$$$$
3o$5b2o$b2obobo$$2bobo$$4bobo3b3o$$6bobob2o$$8bobo$$3o3bobo$$b2obobo$$2bobo$$4bobo3b3o$$6bobob2o$$8bobo$$3o3bobo$$b2obobo$$2bobo$$4bobo3b3o$$6bobob2o$$8bobo$$3o3bobo$$b2obobo$$2bobo$$4bobo3b3o$$6bobob2o$$8bobo$$6bobo$6b2o$$$$$$$$
3o2b3o4b3o2b3o4b3o2b3o4b3o2b3o$$bob2obo6bob2obo6bob2obo6bob2obo$o47b2o$2o4bobo2bobo4bobo2bobo4bobo2bobo4bobo2bobo$$6bo2b2o2bo4bo2b2o2bo4bo2b2o2bo4bo2b2o2bo$7bo4bo6bo4bo6bo4bo6bo4bo$7bo4bo6bo4bo6bo4bo6bo4bo$$$$$$$$
2obo$o3b2o$bo$3bo$bo$ob3o$bo$2b2o$$4bo$6bo3bo$2b2o2bo3bo$4bo3bo2bo$$9b2o$$11bo$13bo3bo$9b2o2bo3bo$11bo3bo2bo$$16b2o$$18bo$20bo3bo$16b2o2bo3bo$18bo3bo2bo$$23b2o$$25bo$27bo3bo$23b2o2bo3bo$25bo3bo2bo$$30b2o$$32bo$34bo3bo$30b2o2bo3bo$32bo3bo2bo$$37b2o$$37bobo$38b2o$36bo$37b3o$36bo2bo$38bo$36bo$35bo3b2o$35b2obo$$$$$$$$
3o7bo9b3o7bo9b3o7bo$6bo3bo15bo3bo15bo3bo$bob2obobo2bo9bob2obobo2bo9bob2obobo2bo$o5bo9bo9bo9bo9bo$2o3bobobobo3bobobobo3bobobobo3bobobobo3bobobobo$6bo9bo9bo9bo9bo3b2o$11bob2obobo2bo9bob2obobo2bo$16bo3bo15bo3bo$10b3o7bo9b3o7bo$$$$$$$$
2obo$o3b2o$bo$3bo$bo$4b2o$2o$5bo$b3o$4bo$2bo$2bo$4bo$2o$2bobobo3bobo$10bo3bo2b3o$6bobo4bo$13bob2obo$5b3obobobo$11bo6bobobo$23b2o$20bo$22bo$20bo$23b2o$19b2o$24bo$20b3o$23bo$21bo$21bo$23bo$19b2o$21bobobo3bobo$29bo3bo2b3o$25bobo4bo$32bob2obo$24b3obobobo5bo$30bo6b2o$$$$$$$$
2bobo$3bo2bo$2obobo19b2o$3bob2obo16bo$bobo5b2o11b2obob2o$2b2o17bobobo$11bobobobobo3bobobo$10bo2bo5bo5bo$10b2o4bo$15bobo$$14b5o$$15bobo$16bo4b2o$7bo5bo5bo2bo$5bobobo3bobobobobo$7bobobo17b2o$4b2obob2o11b2o5bobo$7bo16bob2obo$6b2o19bobob2o$26bo2bo$28bobo$$$$$$$$
2obo$o3b2o$bo$3bo$3bo$5bo$5bo$7bo$4b3obo$7bo$5bo$5bo$3bo$3bo$bo$ob3o$bo$3bo$3bo$5bo$5bo$7bo$4b3obo$7bo$5bo$5bo$3bo$3bo$bo$ob3o$bo$3bo$3bo$5bo$5bo$7bo$4b3obo$7bo$5bo$5bo$3bo$3bo$bo$ob3o$bo$3bo$3bo$5bo$5bo$7bo$4b3obo$7bo$5bo$5bo$3bo$3bo$bo$ob3o$bo$3bo$3bo$5bo$5bo$7bo$3b2o3bo$5bob2o$$$$$$$$
3bo25bo$bobo25bobo$5bo21bo$6o21b6o$$b3o25b3o$3bo25bo$2bo27bo$$3b2o23b2o$5bo21bo$$6b2o17b2o$8bo15bo$$9b2o3b2ob2o3b2o$11bobobobobobo$$12bo2bobo2bo$12bob2ob2obo$10b3obobobob3o$9bo4b2ob2o4bo$9bob3o5b3obo$10bobo2bobo2bobo$14b2ob2o$$$$$$$$
!
I ended up with this as an SOF-to-RLE converter:

Code: Select all

def SOFtoRLE (sofString):
  rle = ""
  cellState=1
  for ch in sofString:
     if ch=='-':
        cellState=1
        rle += "$"
     elif ch=='.':
        break
     else:
        runlength=ord(ch)-48
        if runlength>0:
          if runlength>1:
            rle += str(runlength)
          rle += "o" if cellState == 1 else "b"
        cellState=1-cellState
  return rle + "!"
This may or may not be a completely correct implementation of SOF. There's a use of "+" documented as "unimplemented" in the above link, and not supported by this converter code, which would definitely improve compression for large sparse patterns. But I don't think there's any existing SOF data that uses that syntax. (?)

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

Re: Thread for basic questions

Post by dvgrn » January 21st, 2020, 4:55 pm

dvgrn wrote:
January 21st, 2020, 4:13 pm
EDIT: Bah, of course there was a bug. That was far too few objects.
There seem to be 134,583 P2 objects in the pentadecathlon.com Object Database, which is indeed slightly larger than 171.

The problem was that the Python code handling Mac-style line endings has somehow succumbed to bit-rot. I'm pretty sure I had that flyover script running correctly in Golly's early days, fifteen years ago, but now that I look again, it was clearly expecting Linux-style line endings -- ASCII 10 -- not old Mac-style line endings which are ASCII 13. No idea how that happened. I've patched that particular problem, but there may well be other subtle bugs lurking in that old script. Caveat Emptor, no warranty express or implied, etc.

Anyway, obviously there's a huge amount of duplication and trivial variants in this file -- but it should cover the space of known P2s fairly well, I think!
p2-objects-from-HK-database.zip
134,583 P2 objects as headerless RLE, one object per line
(1.16 MiB) Downloaded 126 times

User avatar
pcallahan
Posts: 845
Joined: April 26th, 2013, 1:04 pm

Re: Thread for basic questions

Post by pcallahan » January 21st, 2020, 5:03 pm

Well, I can definitely extract windows from that RLE when I get a chance.

User avatar
pcallahan
Posts: 845
Joined: April 26th, 2013, 1:04 pm

Re: Thread for basic questions

Post by pcallahan » January 21st, 2020, 10:51 pm

I ran my script on Koenig's oscillators also including reversals and flips of any windows present. There were 220 total or 36 missing out of 256. By reducing that to unique tiles up to rotation, I got:

Code: Select all

* *  * *  * O  * O  * O  * o  * o  * o  O O  O o  
o O  O o  O *  O O  O o  o *  o O  o o  o O  o o  
...where * is live/live, O is dead/live, and o is live/dead (I admit it could be the other way around in my program).

Clearly, this set can be reduced a bit further in terms of equivalences. It may be worth testing these to check if they cannot really be part of a p2 oscillator or if they just didn't show up.

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

Re: Thread for basic questions

Post by dvgrn » January 21st, 2020, 11:30 pm

pcallahan wrote:
January 21st, 2020, 10:51 pm
Clearly, this set can be reduced a bit further in terms of equivalences. It may be worth testing these to check if they cannot really be part of a p2 oscillator or if they just didn't show up.
I tried JLS on the first pair of windows, briefly. Quick symmetric and asymmetric searches up to 18x18 didn't find any complete oscillators, but also didn't run to completion. So a proof that those windows are forbidden in p2 oscillators would have to be fairly subtle, I guess.

I mentioned jslife, but it looks like the oscillator supplement doesn't add any new P2s, so the 2012 collection is what's available, and probably all of that or nearly all is also in the Object Database:

Code: Select all

x = 1003, y = 273, rule = B3/S23
755b2o4b2o$754bo2bo3b2o86b2o2b2o8b2o8b2o$754bo2bo91bo2bo2bob2o3bo2bob
2o3bo2bob2o4b2o$751b2ob4ob6o85bob2obobo2bo2bobobo2bo2bobobo2bobo2bo$
751bobo4bo6bo35bob2o4bob2o4bob2o28b2o2bobo3b2ob2obo3b2ob2obo3b2ob2obo$
753bo2bo2bo2bo2bo35b2obo4b2obo4b2obo27bo2bo4bo4bo4bo4bo4bo4bo3b2o$753b
3ob2o2b3ob2o81b2o2b3obob2o2b3obob2o2b3obob2o2b3o2bo$751b2o2b2o2b3ob2o
2bo33b3o5b3o5b3o30b2o2bob2ob3o2bob2ob3o2bob2ob3o2bobo2bo20bo4bo4bo4bo
4bo4bo$750bo3bo3bo3bo3bobo31bo2bo4bo2bo4bo2bo28b2ob2o2bobobob2o2bobobo
b2o2bobobob2o3bob2o18bobo2bobo2bobo2bobo2bobo2bobo$96b2o17b2o366bo261b
2o2bobo3bo3bo3bo3bobo30bo7bo7bo31bo37bo20bo4bo4bo4bo4bo4bo4bo44bobo$2b
2obo17b2o69bo2bo18bo2bo282b2obo68b2o7bo11bo11bo10bo9bo49bo31b2o110b2ob
o19bo3b3ob3ob3ob3ob2o2b3o30bo7bo7bo30b2obobobobobobobobobobobobobobobo
bobobo21b4ob4ob4ob4ob4ob4obobo38bobob2o$2bob2o16bo2bo11b2o2bo52b3o16b
2obobo2bo280bob2o45b2o9b2o9bobo5bo2bo10bo11bobo6bobo9bobo29bo15b3o16b
2obo11bo111bob2o20b3o2b2ob3ob3ob3ob3o3bo25b2o6b2o6b2o34bob34o19b2obo2b
obo2bobo2bobo2bobo2bobo2bobob3o33bobob2o$6b2o14bo2bo11bobobo26b2o46bob
o2bo284b2o6bo8bo8b2o7bo8bobo10bo29bo2bo8bo14bo5bo16b2o14bobo13bo3b2o
11bo2bob2o8b2obo115b2o15b3o4bo3bo3bo3bo3bo3bobo16b2o11b2o6b2o6b2o28bo
2bobobobobobobobobobobobobobobobobo24bob2obob2obob2obob2obob2obob2obo
4bo29bobob2o4b4o$6bo12b2obo2bob2o12bo6b2o2bo10bobobobo22b7o15bobo3bo
285bo7bo6bo2bo7b2o5bobo18bobo8bobo7b2o2b2o4b2o17b2o3b5o11b2o9bo2bo12bo
b2o12bob2o3bo9bobobo11b2ob2o114bo15bo2bobo3bo3bo3bo3bo3bo2bobob2o13bo
2b2o3bo2bo4bo2bo4bo2bo4bo26b2obo33b3o18bob3o2b3o2b3o2b3o2b3o2b3o2b5o
27bobob2o4b4o3bo$7bo11b2ob4ob2o10bo8bobobo12bo26bo5bo17bo290bo6bo6bo2b
o5b2o8bobo5bobo44bobo6b2o14bo4b2o15bo4bo9bobo2b2o10bobob2o2bo7bob2obo
9b2o6b2o112bo14bo2bobob3ob3ob3ob3ob3o2bobob2o14bobo2bobo2bo4bo2bo4bo2b
o4bo28bobobobobobobobobobobobobobobobobobo3bo18bo31bo27bobob2o4b4o3b4o
$6b2o14bo2bo13bo12bo8b2o4bo8b2obob2o12bo310b2o14bo7b2o8bo7b2o8bobo8bob
o11bo2bo6bobobo12bo5bobo13bo7b2o2b4o9b4o3bo5bob2ob2o3b2o7bobo4b2o6bob
2obob2obo111b2o15b3o2bo2b2ob3ob3ob3obobo3bo16b2obo9b2o6b2o6b2o3b2o25bo
b33obo2bo18b4ob4ob4ob4ob4ob4ob2o24bobob2o4b4o3b4o$2b2obo13b2obo2bob2o
12bo8bo12bo12bob2ob2o11b3o20b2o283b2obo52b2o9b2o13bo12bo8bobo9bo8bo11b
o2b3o10b2o5b2o6b2o2bobo2bo9bob2obobobo5bo4b2obo109b2obo20bobobo3bo3bo
3bo3bobobobo20b2o3b2o6b2o6b2o9bob2o19b2obobobobobobobobobobobobobobobo
bobob3obo15b2obo2bobo2bobo2bobo2bobo2bobo2bobob3o18bobob2o4b4o3b4o4b4o
$2bob2o13b2obo2bob2o9b3o11bo9bo3b2o26b3o305bob2o78bo23bo24b2o5bobo2b2o
bo5bo2b2obobo10b2obo2bo10bo3b2obo7bobobo2bo109bob2o19bobobobo3bo3bo3bo
3bobobo24bo4bo2bo4bo2bo4bo2bobo2bobo20bo2bo36bo19bob2obob2obob2obob2ob
ob2obob2obo4bo14bobob2o4b4o3b4o4b4o3bo$2o20b4o15bo7b3o12bo12b3ob2o10bo
3bo20bo281b2o125b2o12bo3bob2o6bobob2o2bo10bo2b2o13bo3bo9b2ob3o108b2o
23bo3bobob3ob3ob3ob2o2bo2b3o21bo4bo2bo4bo2bo4bo2bo3b2o2bo20bo2bobobobo
bobobobobobobobobobobobobobo19bob3o2b3o2b3o2b3o2b3o2b3o2b5o14bob2o4b4o
3b4o4b4o3b4o$o21bo2bo13bo12bo12b2o9bo4b2o32b2o112b2o68bo100bo132bo22bo
5b2o8bobo13b4ob3o12bo111bo21b2obobo2b3ob3ob3ob3ob3obobo2bo22b2o6b2o6b
2o11b2o21b2ob32ob2o19bo31bo13bob3o4b4o3b4o4b4o3b4o$bo17b2obo2bob2o10bo
10bo13bo16b2o11b3o18bo2bo111bo2b2o62b2o102bo127bobo40b2o14bo2bobo14bob
2o109bo20b2obobo2bo3bo3bo3bo3bo3bobo2bo13b2o11b2o6b2o6b2o31bobobobobob
obobobobobobobobobobobobo22b4ob4ob4ob4ob4ob4ob2o13b2o4b4o3b4o4b4o3b4o
4b4o$2o17b2obo2bob2o12bo10bo13bo10b3obo30b2obo111b2obobobo33bo30b2o99b
2o115bo13bo77bobo108b2o23bobo3bo3bo3bo3bo3bo4b3o14bo2b2o3bo2bo4bo2bo4b
o2bo4bo28bo35b2o17b2obo2bobo2bobo2bobo2bobo2bobo2bobob3o13b4o3b4o4b4o
3b4o4b4o3bo$2b2obo16b4o12b3o8b3o12b2o28b3o15b2obob2o111bobo35bobo25b3o
103b2obo23bo23bo8b2o6b2ob2o7bo9bob2o8bo10b3o204b2obo19bo3b3ob3ob3ob3ob
2o2b3o18bobo2bobo2bo4bo2bo4bo2bo4bo27bob2obobobobobobobobobobobobobobo
bobobo21bob2obob2obob2obob2obob2obob2obo4bo9b4o3b4o4b4o3b4o4b4o3b4o$2b
ob2o16bo2bo15bo10bo13bo10b3obo33bo89b2o4bo16bobobo33bo4bo27b3o100bob2o
11bo11bo9bo11b3o9bo6bo3bo6bobo8b2obo6b3o9bo207bob2o20b3o2b2ob3ob3ob3ob
3o3bo16b2obo9b2o6b2o6b2o3b2o25bo2b32o2bo18bob3o2b3o2b3o2b3o2b3o2b3o2b
5o10bo3b4o4b4o3b4o4b4o3b4o$19b2obo2bob2o10bo10bo13bo16b2o10bo3bo17b3o
16b2o35b2o33bo2bobo18bo3bo32b5o25b2o114b2o2bo6b2obo2bo6bobo10bo9b3o8b
3o6bob2o17bo12bo2b3o223b3o4bo3bo3bo3bo3bo3bobo20b2o3b2o6b2o6b2o9bob2o
22bobobobobobobobobobobobobobobobobob2obo18bo31bo14b4o4b4o3b4o4b4o3b4o
4b4o$19b2obo2bob2o10bo12bo12b2o9bo4b2o11b3o37bo2bobo31bo34bobo4bo52bo
32bob2o110bobo2bo5bo11bo4bo8b2o7bobo10bo6bobo2b2o6b3o6b6o6b2obobobo23b
o11b2o14b2ob2o15bo14b2o133bo2bobo3bo3bo3bo3bo3bo2bobob2o20bo4bo2bo4bo
2bo4bo2bobo2bobo22b2o35bo20b4ob4ob4ob4ob4ob4ob2o19b4o3b4o4b4o3b4o4b4o
3bo$22b4o15bo7b3o12bo12b3ob2o11b3o20b2o16bo3bobo30bobo28b4o2b4o21b2o
32b2o155bo2b2o5bob4o7b2obo7bobo10bo7b2o2bobo4bobobo9bobo8b2ob2o22bobob
2o6bo2bo12bobobo15bobo9b2obobo133bo2bobob3ob3ob3ob3ob3o2bobob2o20bo4bo
2bo4bo2bo4bo2bo3b2o2bo23bobobobobobobobobobobobobobobobobobo18b2obo2bo
bo2bobo2bobo2bobo2bobo2bobob3o13b4o3b4o4b4o3b4o4b4o3b4o$22bo2bo12b3o
11bo13bo28bo45bo61b2o8bo53bobo31bob2o109bo2bobo16bo4bo5bob2o9b3o8b3o8b
2obo5b2ob2o7b2ob2o8bobobob2o19bobob2o5bob2obo10bobo2bo15bobo9bo139b3o
2bo2b2ob3ob3ob3obobo3bo25b2o6b2o6b2o11b2o21b2ob32ob2o20bob2obob2obob2o
bob2obob2obob2obo4bo12bo3b4o4b4o3b4o4b4o3b4o$19b2obo2bob2o12bo8bo13b2o
11b3ob2o35bo17b2o2bobo13b2o13b3ob2o31b4o24bo178bo2b2o5bobo9bobo7bo15bo
6bo3bo7bobo7bobo8b2obo10b3o2bo16bobo3bo9bo2bo9b3ob2obob2o10bo4b2obo6bo
3bo137bobobo3bo3bo3bo3bobobobo16b2o11b2o6b2o6b2o31bobobobobobobobobobo
bobobobobobobobo20bob3o2b3o2b3o2b3o2b3o2b3o2b5o14b4o4b4o3b4o4b4o3b4o4b
4o$19b2obo2bob2o10bo12bo13bo9bo4b2o14bo17b2o23bo15bo48bo3bo2bo56bo33bo
b2o108bo9b2o12bo6b2o14b2o6b2ob2o8bo6bobobobo10b3o12bo16b2o6b2o7bo10bo
5b3o2bo9bo3bobob2o8bo2bob2o132bobobobo3bo3bo3bo3bobobo17bo2b2o3bo2bo4b
o2bo4bo2bo4bo28bo35b2o19bo31bo22b4o3b4o4b4o3b4o4b4o3bo$22b4o13bo9b3o
12bo16b2o13b3o16bo2bo17bo20bobo17b2o30b2o25b2o32bo219b2o3b2o12bo9b3o
20bo3bobo9bo6bo2b3o5bo7b2obobo3bo10bo2bob2obo132bo3bobob3ob3ob3ob2o2bo
2b3o15bobo2bobo2bo4bo2bo4bo2bo4bo27bob2obobobobobobobobobobobobobobobo
bobo21b4ob4ob4ob4ob4ob4ob2o19b4o3b4o4b4o3b4o4b4o3b4o$22bo2bo15bo10bo
12b2o10b3obo14b3o13b2obo22b2o64bob2ob2o59bo34bob2o210bo19b2obobo9b2o3b
o5b2obob2ob3o8bob2o4bo11b2obo134b2obobo2b3ob3ob3ob3ob3obobo2bo13b2obo
9b2o6b2o6b2o3b2o25bo2b32o2bo17b2obo2bobo2bobo2bobo2bobo2bobo2bobob3o
16bo3b4o4b4o3b4o4b4o3b4o$19b2obo2bob2o9b3o9bo12bo31bo3bo12b2obob2o18bo
21bobo17b2o57bo33bo266b2obobo11bob2o8bo2bobo14bobo16bo134b2obobo2bo3bo
3bo3bo3bo3bobo2bo17b2o3b2o6b2o6b2o9bob2o22bobobobobobobobobobobobobobo
bobobob2obo19bob2obob2obob2obob2obob2obob2obo4bo16b4o4b4o3b4o4b4o3b4o
4b4o$19b2obo2bob2o12bo10bo11b4o9b3obo33bo23b2o62b2obob2obo61bo33bob2o
232bo24bobobo15bobo16b2o136bobo3bo3bo3bo3bo3bo4b3o21bo4bo2bo4bo2bo4bo
2bobo2bobo22b2o35bo18bob3o2b3o2b3o2b3o2b3o2b3o2b5o22b4o3b4o4b4o3b4o4b
4o3bo$22b4o13bo9b3o11bo17b2o13b3o16b3o20bo22bobo17b2o25bob2o26b2o33bo
293b2ob2o17bo155bo3b3ob3ob3ob3ob2o2b3o24bo4bo2bo4bo2bo4bo2bo3b2o2bo23b
obobobobobobobobobobobobobobobobobo20bo31bo22b4o3b4o4b4o3b4o4b4o3b4o$
22bo2bo13bo12bo12b2o9bo4b2o57b2o63b2o68bo33bob2o149bo56bo226b3o2b2ob3o
b3ob3ob3o3bo25b2o6b2o6b2o11b2o21b2ob32ob2o20b4ob4ob4ob4ob4ob4ob2o22bo
3b4o4b4o3b4o4b4o3b4o$23b2o16bo8bo13bo12b3ob2o13b3o18b2o20bo23bobo17b2o
55bo35b2o135b2o2b2o10b2ob2o13bo14bobo15bobo15bo19bobo227bobo3bo3bo3bo
3bobo2b2o29b2o6b2o6b2o31bobobobobobobobobobobobobobobobobobo2bo16b2obo
2bobo2bobo2bobo2bobo2bobo2bobob3o20b4o4b4o3b4o4b4o3b4o4b2o$38b3o11bo
13bo74b2o64b2o102bob2o98bobo2bo9bo2b2obo10bobo12bo17bo2bo2bo12b2o16b2o
2bo2b2o225bobo3bo3bo3bo3bo31bo7bo7bo33bo36bo2bo18bob2obob2obob2obob2ob
ob2obob2obo2bobo24b4o3b4o4b4o3b4o4b3obo$41bo7b3o12b2o11b3ob2o12bo3bo
18bo21bo24bobo17b2o53b2o36bo138bo10bo4b2o9bo4bo15b2o10bobobobobo11b2o
2bo13bob2o4bo226bo2b2ob3o2b2o2b2o34bo7bo7bo30bob3obobobobobobobobobobo
bobobobobobobob2o16bob3o2b3o2b3o2b3o2b3o2b3o2bobo2bo21b4o3b4o4b4o3b4o
4b2obo$39bo12bo13bo9bo4b2o13b3o16b2o25b2o65b2o68b2o32bob2o97bo14bo3bo
10b6o9b2o16bo3bo3bo10bob4o15b2ob2o57b2o13b2o155b2ob3o2b2ob3o33bo2bo4bo
2bo4bo2bo30bo2bob33obo19bo31b3ob2o20bo3b4o4b4o3b4o4b2obobo$39bo10bo13b
o16b2o13b3o16bo2bo22bo25bobo17b2o53bo170bo2bobo9b2o4bo30bo12b2obob2o
11bo5b2o11bo4b2obo17b2o17bo18bo14bo2b2o2b2o149bo2bo2bo2bo2bo33b3o5b3o
5b3o32bo3bobobobobobobobobobobobobobobobobobo20b4ob4ob4ob4ob4ob4o5bo
23b4o4b4o3b4o4b2obobo$41bo10bo12b2o10b3obo15bo14b2obo27b2o25bo40b2o68b
o33bob2o94b2o2b2o9bob2o2bo11b2o13bo19bo17bobo2bo10b2o2bo2b2o17bobob2o
12bobo11b2ob2obobo13bobobo2bo11bo137bo6bo4bobo83b3o33bob2o21b3o2b3o2b
3o2b3o2b3o3bo2bobo28b4o3b4o4b2obobo$38b3o8b3o12bo47b2obob2o23bo26b2o
18b2o51b2o38b2o36bo108b2ob2o12b2o12bo2bobo31b2o3b2o14bobo25bo8b2obobob
ob2o7b2obobobobo2bo8b2obob2o9b2obobo137b6ob4ob2o30bob2o4bob2o4bob2o37b
obobobobobobobobobobobobobobobobo2bo18b2obo2bobo2bobo2bobo2bobo2bob2ob
obo26b4o3b4o4b2obobo$41bo10bo13bo10b3obo15bo17bo28b2o67b2o101bo3bo139b
2o2b2o53bo21bo3bo9b2obobobob2o10bobobob4o7bo7b4o5bob2obo144bo2bo33b2ob
o4b2obo4b2obo35b34obo21bobo2bobo2bobo2bobo2bobo2b2obo2bo27bo3b4o4b2obo
bo$39bo10bo13b2o15b2o13b3o16b3o25bo47b2o51bo39bo33b2o2bo217bo17bo3bo
10b2o3bo13bob2o3b2o3bo12bobo135b2o3bo2bo87bobobobobobobobobobobobobobo
bobobobob2o20bobo2bobo2bobo2bobo2bobo2bo3b2o29b4o4b2obobo$39bo12bo13bo
9bo4b2o13b3o46b2o50b2o16b2o23bo3bobo36bo33bo2b2o217bo2bobobob2o5b2o7b
2o7bobo5bobo8bo9bo8b3o4b2o135b2o4b2o88bo37bo20bo4bo4bo4bo4bo4b3o36b2ob
obo$41bo7b3o12bo12b3ob2o12bo3bo17b2o25bo48b2obobo40bo2bobo38b3o33bo2bo
197bo19b2o2bob2obo5bobo5bobo12bo3b2o7b2obobobobob2o7bo4bo231b2obo3b2ob
obobo2b2obobobo2b2obobobo2b2ob2o47bo33b2obobo$38b3o11bo12b2o75bo3b2o
69b2obobob3o12bo2bobob2o70bobo92b2o14b2ob2o70bo15bo20bob2o14bobo9b4obo
bobo12bo3bo3bo12bo2b2obo227bo2bobo2b3ob2obo2b3ob2obo2b3ob2obo2b2o83bob
o$41bo8bo13bo11bob2ob2o13b3o18bo25bo51bo2bo22bo19bo2bo36b6o33bo92bobob
2o10b2obo3b2o8bo3b2o8bo4b2o9b2o7bobo10b3o3bo11b2obo2bo18bo2bo14bo2bo8b
o2bobobobob2o9bobobobobo13bobob2o229bo2b3o2b2obob3o2b2obob3o2b2obob3o
2b2o$39bo12bo9bo3b2o8b2obob2o32bo25b2o4bo49bo21bobobobo18b2o35bo136bo
13bobo2bo8bo4bo8bo5bo10bo5bo2bo16bo2bo9bob3obo19b2o16b2o13bobob2ob2o
10bobobobo15bo234b2o3bo4bo4bo4bo4bo4bo4bo2bo$39bo8bobobo10bo32b3o17bo
28bo51bo23bo4bo56bobo128bo2bo9b3ob6o8bo2bobo8bo2b2obo8b2obob2o3bobob2o
7b2o2bo16bo3bo54bo18bo2bo252bob2ob2o3bob2ob2o3bob2ob2o3bobo2b2o$41bo6b
2o2bo8b2o4bo45b2obo2b3o21bobobobo75b2o56bo131bo10bo2bo47bobobob2obo15b
o2b2o8bo3bo56b2o17b2o255bo2bobo2bobobo2bo2bobobo2bo2bobob2obo$37bobobo
23bo29bo3bo16bob3o27b2o265bobobo6b2o3bob2o10bobob3o7bobo2b3o8bobobo6bo
bo8bo2bo14bob3obo331b2o4b2obo2bo3b2obo2bo3b2obo2bo2bo$37b2o2bo21bobobo
bo26b3o15bobo301b2o10b2ob2o10b2o12b2o16bo8b2o11bo3b3o9bo2bob2o232bo7bo
7bo7bo84b2o8b2o8b2o2b2o$68b2o26b3o16b2o382bo17bo236bobo5bobo5bobo5bobo
$97bo419bo234bo7bo7bo7bo$94bo5bo478b2o20b2o24b2o124b5o3b5o3b5o3b5o$94b
7o458b2o19bo21bo14b2o8bo2b2o120bo7bo7bo7bo$514bo7bo23b2o11bo20bobo19bo
b2ob2o8bobo4b2obo3bo122bobo5bobo5bobo5bobo$96b3o141b3o245b2o8b2o14bo5b
obo23bo14bo3b2o11b2obobo13bob2obo2bobo11bo3bo2bob3o121bo3bo3bo3bo3bo3b
o3bo3bo$96bo2bo162b2o190bo13b2ob2o9bo3bo2bo8bo5b2o7bo2bobobobo25bo8b4o
bo3bo11bo2bobo2b2o9b2obobobo3bo7bo2b2o2bobo2bo119bo5bo3bo3bo3bo3bo3bo
3bo3bobobo$98b2o139b2o2bo18b2o149b2o7b2o6b2o3b2ob2o3b2o8bobob2o8bobob
2o8bobo2b2o11bobo2b2o37bo3b2o8bo2bobo3bob2o9bobo3bobo2bo9bo5b3o7b3o2bo
5bo118bobob2o3bo3bo3bo3bo3bo3bo3bo5bo$413bobo2bo2bobo6bobobo2b2obobobo
7bob2obobo6bo13bob2o4b4o10b2o10b2o2bobo21bobobo2b2o9bo3b3o2bo18b3o6b2o
12bo7bo128bo4bo3bo3bo3bo3bo3bo3bo3bobobob2o$239bo2bob2o16b4o149bo2b4o
10bobo4b2obo8bo2bo4bo6b3ob3o6bo2bo2b2o4bo8bob2o39bob3obo17bo9b2o6b3o9b
obo7b5o6bobo7b2o115b2obobobo3bo3bo3bo3bo3bo3bo3bo4bo$241bo19bo3bo147bo
bo2bo2bobo6bobobo2b2obobobo6bobobo2bo13bo6b4o2b3o2bo13bo11bobo2b2o21bo
4bo8b2o5b2o9bo11bo29bo11bo117bo5bo3bo3bo3bo3bo3bo3bo3b2obobo$241bo3b2o
10b2obobo150b2o7b2o6b2o3b2ob2o3b2o7b2obobo8b2obobo11b2o2bobo9bo2bo36b
2o2b2o3bo8bo19b3o6b2o7b5o7bobo9b2o7bobo116bobobo3bo3bo3bo3bo3bo3bo3bo
5bo$257b2obobobo191bo9b2ob2o10bo2bo3bo10b2o3bobo7bobobobo2bo15bo2bobo
2bo7bo2b3o3bo9b3o18bo12b2o19bo123bo3bo3bo3bo3bo3bo3bo3bo$246b2o12bo3bo
216b2o22b2o7bobo5bo18b2o3bo8b2obo3bobo2bo6bo2bobo3bobo12b3o5bo14bo5bo
2b3o119bo3bo3bo3bo3bo3bo3bo3bo101b2o$260b2o3b2o247bo7bo20b3o12bo3bob4o
9b2o2bobo2bo11bo3bobobob2o10bo2bobo2b2o2bo115bo5bo3bo3bo3bo3bo3bo3bo3b
obobo95bo$247b2o294bo14b2o3bo17bobob2o12bobo2bob2obo8b3obo2bo3bo116bob
ob2o3bo3bo3bo3bo3bo3bo3bo5bo98bob2o$266b2o297bo16bobo13b2ob2obo12bo3bo
b2o4bobo116bo4bo3bo3bo3bo3bo3bo3bo3bobobob2o94b2obo2bob2o$248b2o18bo
295b2o18bo19bo12b2o2bo8b2o113b2obobobo3bo3bo3bo3bo3bo3bo3bo4bo38bo4bo
4bo4bo4bo4bo4bo27bo3bob2obo2bob2o$268bobo148bo32b2o2b2o126b2o18b2o14b
2o126bo5bo3bo3bo3bo3bo3bo3bo3b2obobo34bobo2bobo2bobo2bobo2bobo2bobo2bo
bo23b2ob3o2bo4bob2obo2bob2o38b2o$249b2o19bo147bobo15b2o14bo2bobo13bo
13bo261bobobo3bo3bo3bo3bo3bo3bo3bo5bo35bo4bo4bo4bo4bo4bo4bo4bo20bo2b2o
2bo2b2o2bo4bob2obo2bob2o32bo2bo2b2o$271b2o142b2o2bo2b2o11bo2bo14bo16bo
bo10b5o10bo4bo8b2o6b2o231bo3bo3bo3bo3bo3bo3bo3bo40b4ob4ob4ob4ob4ob4ob
4obo19b2o4bo5bo2b2o2bo4bob2obo2bob2o28b2o4bo2b2o$250b2o163bo4b2obo11bo
bobo16bo14bo10bo5bo7b2o2b2obo8bobob2obobo230bo3bo3bo3bo3bo3bo3bo3bo38b
2obo4bo4bo4bo4bo4bo4bo2bo23b2o2b4obo5bo2b2o2bo4bob2obobo29b4o4bo2b2o$
253bo18b2o3b2o137b2ob3o11bo14b2o2bobo5b2o19bo2b3o2bo10b3obo8bo3b2o29bo
199bo5bo3bo3bo3bo3bo3bo3bo3bobobo35bo2bo4bo4bo4bo4bo4bo4bob2o18b2o2bob
obo2b4obo5bo2b2o2bo3bo2bo20b2o3b3o5b4o4bo2b2o$33b2o215bobo21bo3bo135bo
b2o6bo7bo7b2o6bobo5bobo2bo7b5o8b2o3b2o8b2o3bo8bob2o3b2o2bo24bobo82b2o
3b2o107bobob2o3bo3bo3bo3bo3bo3bo3bo5bo34bob2ob4ob4ob4ob4ob4ob4obo22bob
ob4o2bobo2b4obo5bo2b2obobo21bobobobo3b2o5b4o4bo2b2o$32bo2bob2o209b3obo
b2o18bobobob2o131bobobo3bobobo5bobo8bo9bo7bo7bobo3bo9b2o13b2o9bobobobo
2bobobo23bobo24bo57bobobobo109bo4bo3bo3bo3bo3bo3bo3bo3bobobob2o32bo3bo
bo2bobo2bobo2bobo2bobo2bobo3bo19bo3bo4bob4o2bobo2b4obo5bo2b2o22bob2ob
2obo3b2o5b4o4bo$30b3ob2obo209bo4bo23bobob2o132bo6b2obo6bo8bobo6bo7bo
10bobo3bo9b2o13b2o9bobobobo2bobobo20b2obob2o22bobo20bo12b2o19bobobobo
108b2obobobo3bo3bo3bo3bo3bo3bo3bo4bo36bob4ob4ob4ob4ob4ob4ob2obo18b4o2b
o7bob4o2bobo2b4obo4b2o2b2o17bo3b2obob2obo3b2o5b4o3bo2b2o$29bo3bobobo
210b3obobo18bo3bo139b3ob2o9b2o7bo6bo2bobo5bobo7b5o8b2o3b2o8b2o3bo8bob
2o3b2o2bo21bobobo2bo17b2obobobo11b2o5bobob2o9bo18bobobobob4o107bo5bo3b
o3bo3bo3bo3bo3bo3b2obobo31b2obo4bo4bo4bo4bo4bo4bo2bo26b4obo7bob4o2bobo
2b4obobo2bo15b2o3bo3b3obob2obo3b2o5b4o3bo$30b4obobobo210bob2o19b4o138b
ob2o4bo16bo7b2o5bobo2b2o19bo2b3o2bo10b3obo8bo3b2o27bobobobo2b2o11bobob
o3b3o9bo2b2obo2b2obo9bob2o6bo8bo3bo3bo3bo105bobobo3bo3bo3bo3bo3bo3bo3b
o5bo36bo2bo4bo4bo4bo4bo4bo4bob2o17b2o2bobobo2b4obo7bob4o2bobobo2b2o18b
obob2o6b3obob2obo3b2o5b3o$35b2obobo374b2o2bo2b2o10bobobo14bo17bo10bo5b
o7b2o2b2obo8bobob2obobo24bo9bo11bobo2bobo3bo9bobo4bo14bo2bo3b3o5b2obo
2bobobo3bo112bo3bo3bo3bo3bo3bo3bo3bo38bob2ob4ob4ob4ob4ob4ob4obo21bobob
4o2bobo2b4obo7bob4o24bob2obob3o6b3obob2obo3b2o$32bo3bo2bo235b2o141bobo
14bo2bo17bo13bobo10b5o10bo4bo8b2o6b2o22bo8b3o11b2o2bo5b3o8b2o2bo5b2o
12bobo2bo8bo2b2o7bo2b3o109bobo5bobo5bobo5bobo41bo3bobo2bobo2bobo2bobo
2bobo2bobo3bo18bo3bo4bob4o2bobo2b4obo7bo2b4o15b2obo3b2obobob3o6b3obob
2obo3b2o$32b4obobobo88bo60bo83b2o142bo16b2o14bobo2bo13bo13bo57bo12b3o
7bo2bo6bo10bo2bo6bobo16bobo8b2o2bo7b2o2bo113bo7bo7bo7bo40bob4ob4ob4ob
4ob4ob4ob2obo17b4o2bo7bob4o2bobo2b4obo4bo3bo15bobo3bo3b3obobob3o6b3obo
b2obobo$37b2obobo38b2o46bo2bo2b2o52b3o2bo257b2o2b2o84bobo9b2o3bo5bobo
10b2o8bo21b2o6bo10bo8bo2b2o109b5o3b5o3b5o3b5o38b2obo4bo4bo4bo4bo4bo4bo
2bo25b4obo7bob4o2bobo2b4obobo19bobob2o6b3obobob3o6b3obob2o2bo$34bo3bo
2bo35b2o3bo46bo2bo2b2o51bo3b3o345b3o13b3o7bo2bo7bo2bo8bo9bo9bo6b2o9b2o
2bo8bo116bo7bo7bo7bo40bo2bo4bo4bo4bo4bo4bo4bob2o16b2o2bobobo2b4obo7bob
4o2bobobo2b2o18bob2obob3o6b3obobob3o6b2obobobo$34b4obobobo33bobobo49bo
b2o52bob3o347bo3b2o9bobo10b2o10bobo18bo8bobo14bo2b2o7bo2b2o110bobo5bob
o5bobo5bobo40bob2ob4ob4ob4ob4ob4ob4obo20bobob4o2bobo2b4obo7bob4o21b2ob
o3b2obobob3o6b3obobob3o3bo3bobo$39b2obobo88bob2o50bo5b2o345b3o12bo14bo
6bo2bo8bobo6bo2bo8bo2bobo10b3o2bo7b2o2bo111bo7bo7bo7bo41bo3bobo2bobo2b
obo2bobo2bobo2bobo3bo17bo3bo4bob4o2bobo2b4obo7bo2b4o15bobo3bo3b3obobob
3o6b3obobob2o3bobo$36bo3bo2bo35bobobobo45bobo51b2ob2obob2o287b2o59b3o
8bo12b3o5bo2b2o9b2o5bo2b2o6b3o3bo2bo12bo3bobobo2bob2o178bob4ob4ob4ob4o
b4ob4ob2obo16b4o2bo7bob4o2bobo2b4obo4bo3bo17bobob2o6b3obobob3o6b3obob
2obo$36b4obobobo34bo3bo46b2o3bo49bobo2b2o109bo180bo2bo22bo10bo21bo9bo
14bo3bobo2bobo13bo4bobo7bo6b2obo10bo3bo3bo3bo178b2obo4bo4bo4bo4bo4bo4b
o2bo24b4obo7bob4o2bobo2b4obobo19bob2obob3o6b3obobob3o6b2obobo$41b2obob
o34b2obob2o47b2o48bo2bo2bob2o107bobo152b2o6b2o13b2obobo2bo5bo13bobo8bo
bo20b2o2bobobobo15b3o3bobobo9bob2o2bob2o2bo16bo11b4obobobobo181bo2bo4b
o4bo4bo4bo4bo4bob2o15b2o2bobobo2b4obo7bob4o2bobobo2b2o15b2obo3b2obobob
3o6b3obobob3o3bo3bobo$38bo3bo2bo37bobo48b2ob2o46bobob3o108bo4bo151bo8b
o16bobo2bo5bobo10bob2o8bo2bo24bo2bobobo15bobobob2o10b2obobo5b2o16b2o
14bobobobo180bob2ob4ob4ob4ob4ob4ob4obo19bobob4o2bobo2b4obo7bob4o21bobo
3bo3b3obobob3o6b3obobob2o3bob2o$38b4obobobo35bobobo45bobo48b2ob2obo3bo
106b5o112bobo13b2ob2o2b2ob2o12bobo2bobo15bobo3bo4bo4bo8bobo2b2ob2ob2o
4bo24b2obob2o16bobo18bo38bobobobo183bo3bobo2bobo2bobo2bobo2bobo2bobo3b
o16bo3bo4bob4o2bobo2b4obo7bo2b4o17bobob2o6b3obobob3o6b3obob2obo$43b2ob
obo35bobo46b2o3bo54b2o105bo115b3ob3o11b2obo4bob2o8b2o12b2o13bo9b5o9b2o
2bo3b2o4b2o26bobo20bo58b2o3b2o184bob4ob4ob4ob4ob4ob4ob2obo15b4o2bo7bob
4o2bobo2b4obo4bo3bo17bob2obob3o6b3obobob3o6b2obobo$40bo3bo2bo38bob2o
47b2o52b2ob2o50bo55b2o111bo3bo3bo13bo4bo11bo3bo2b2o2bo3bo21bo17b2obo3b
2o2bo28bobo267b2obo4bo4bo4bo4bo4bo4bo2bo23b4obo7bob4o2bobo2b4obobo16b
2obo3b2obobob3o6b3obobob3o3bo3bobo$40b4obobobo35bobo48b2ob2o51b2o52bo
54bobo111b3obo2b2o10b2o3b2o3b2o9bobobo4bobobo15b2o3b2o4bo13bobob3o2bob
o29bo226bo44bo2bo4bo4bo4bo4bo4bo4bob2o14b2o2bobobo2b4obo7bob4o2bobobo
2b2o15bobo3bo3b3obobob3o6b3obobob2o3bob2o$45b2obobo34bobobo45bobo54bo
3bo47bo2bo165b2o4b3o2b2o8bobo6bobo13bo4bo21bo7b2o16bobo3b2o248b2o3b2ob
obob2o3b2o33bob2ob4ob4ob4ob4ob4ob4obo18bobob4o2bobo2b4obo7bob4o23bobob
2o6b3obobob3o6b3obob2obo$42bo3bo2bo36bobo46b2o3bo54b2o105bo2b2o107bobo
3b2o2bo13bo2bo15bo8bo14bo6bo5b2o13bo2b2o3bob2o247bo2bo2bobobobo2bo2bo
34bo3bobo2bobo2bobo2bobo2bobo2bobo3bo15bo3bo4bob4o2bobo2b4obo7bo2b4o
17bob2obob3o6b3obobob3o6b2obobo$42b4obobobo36bob2o47b2o52b2ob2o46b2o2b
2o51bo2bobo107bo2b2o3bobo13bo2bo15bo8bo13b2o5bo6bo14b2obo3b2o2bo245bob
ob3o3bobo3b3obobo33bob4ob4ob4ob4ob4ob4ob2obo14b4o2bo7bob4o2bobo2b4obo
4bo3bo14b2obo3b2obobob3o6b3obobob3o3bo3bobo$47b2obobo34bobo48b2ob2o51b
2o105b2o110b2o2b3o4b2o8bobo6bobo13bo4bo15b2o7bo20b2o3bobo232b2ob2o3b2o
6b2obo5bobobo5bob2o30b2obo4bo4bo4bo4bo4bo4bo2bo22b4obo7bob4o2bobo2b4ob
obo16bobo3bo3b3obobob3o6b3obobob2o3bob2o$44bo3bo2bo35bobobo45bobo54bo
3bo47bo2bo55bo2b2o105b2o2bob3o10b2o3b2o3b2o9bobobo4bobobo11bo4b2o3b2o
17bobo2b3obobo230bobo3bobo9bo2b2obo3bob2o2bo36bo2bo4bo4bo4bo4bo4bo4bob
2o13b2o2bobobo2b4obo7bob4o2bobobo2b2o17bobob2o6b3obobob3o6b3obob2obo$
44b4obobobo34bobo46b2o3bo54b2o46bo58bo2bobo105bo3bo3bo13bo4bo11bo3bo2b
2o2bo3bo14bo24bo2b2o3bob2o230bo2bo2bo8b2o2b3o2b2ob2o2b3o2b2o31bob2ob4o
b4ob4ob4ob4ob4obo14bo2bobob4o2bobo2b4obo7bob4o23bob2obob3o6b3obobob3o
6b2obobo$49b2obobo35bob2o47b2o52b2ob2o45b2obobobo51b2o110b3ob3o11b2obo
4bob2o8b2o12b2o8b5o9bo14b2o4b2o3bo2b2o229bobobo2bo2b2obob2o3b2ob5ob2o
3b2obob2o28bo3bobo2bobo2bobo2bobo2bobo2bobo3bo13b2o2b2o4bob4o2bobo2b4o
bo7bo2b4o15bobo3b2obobob3o6b3obobob3o3bo3bobo$46bo3bo2bo35bobo48b2ob2o
51b2o54bo55bo2b2o105bobo13b2ob2o2b2ob2o12bobo2bobo12bo4bo4bo3bobo11bo
4b2ob2ob2o2bobo229bob2ob2o2b2ob2o4bo11bo4b2ob2o29bob4ob4ob4ob4ob4ob4ob
2obo17b2o2bo5bob4o2bobo2b4obo4bo3bo14bobo3bo3b3obobob3o6b3obobob2o3bob
2o$46b4obobobo33bobobo45bobo54bo3bo49bo2bo53bo2bobo144bo8bo12bobo5bo2b
obo14bo2bo8b2obo232b2o8bo2b2obobo7bobob2o2bo29b2obo4bo4bo4bo4bo4bo4bo
2bo20bobob2o2bo5bob4o2bobo2b4obobo16bobobob2o6b3obobob3o6b3obob2obo$
51b2obobo33bobo46b2o3bo54b2o48bo57b2o148b2o6b2o14bo5bo2bobob2o12bobo8b
obo232bo7b2o2b3o2b2ob7ob2o2b3o2b2o29bo2bo4bo4bo4bo4bo4bo4bob2o16bo2bo
3bo2b2o2bo5bob4o2bobobo2b2o16bo2b2obob3o6b3obobob3o6b2obobo$48bo3bo2bo
36bob2o47b2o52b2ob2o47b2obobobo54bo2b2o173bo2bo16bo10bo73b2o3b2o5b2o
144b3obob2obob2o3b2ob13ob2o3b2obob2o23bob4ob4ob4ob4ob4ob4ob4o19bobob2o
bo4bo2b2o2bo5bob4o2b2o21bobob2obob3o6b3obobob3o3bo3bobo$48b4obobobo33b
obo48b2ob2o51b2o56bo53bo2bobo176b2o86b2ob2o9bo4bobo3bobo143bo3b3obob2o
4bo19bo4b2ob2o24bo4bo4bo4bo4bo4bo4bo4bo19b2obo2bob2obo4bo2b2o2bo5bo4b
2o20b2o3bob2obob3o6b3obobob2o3bob2o$53b2obobo32bobobo45bobo54bo3bo51bo
2bo52b2o231bo3b2o15bo14bobobobo9b3obobo3bo14bob2o127b3o3bo3bo2b2obobo
15bobob2o2bo29bobo2bobo2bobo2bobo2bobo2bobo2bobo25b2obo2bob2obo4bo2b2o
2bo2b2o2bo24b2o3bob2obob3o6b3obob2obo$50bo3bo2bo34bobo46b2o3bo54b2o50b
o60bo2b2o220b2obobobo2bo14b3o12bobobob3o9bobo3b3o12b3obobo129b2o3bo2b
3o2b2ob15ob2o2b3o2b2o26bo4bo4bo4bo4bo4bo4bo32b2obo2bob2obo4bo2b3ob2o
21b3o5b2o3bob2obob3o6b2obobo$50b4obobobo34bob2o47b2o52b2ob2o49b2obobob
o52bo2bobo220bob2obob2obo17bo10b2obo6bo8bo19bo4bo2bo127bo2bob3o3b2ob
21ob2o3b2obob2o90b2obo2bob2obo3bo24bo3b4o5b2o3bob2obob3o3bo3b2o$54b2o
2bobo32bobo48b2ob2o51b2o58bo52b2o229bobo2b2o11b4obo9bo7b4o15b4o8bo2b2o
b2obo127bob2obo4bo27bo4b2ob2o95b2obo2bob2o25b2o2bo3b4o5b2o3bob2obob2o
3bo$52bo3bobobo32bobobo45bobo54bo3bo53bo2bo55bo2b2o96b2o6b2o112b3o2bob
o3bo9bo5bobo7b3o15b2o10bo8bob2obobob2o127b2ob2ob2obobo23bobob2o2bo103b
2obo33bo4b4o5b2o3bob2ob2obo$52b2ob2ob2o34bobo46b2o3bo54b2o52bo58bo2bob
o92b2o2bo3bo4bo2b2o22bo85bo3bobo2b3o9b2obo3bobo15b3o5bo10b2o7b2obo3b2o
2bo133b2o2b2ob23ob2o2b3o2b2o105bo31b2o2bo4b4o5b2o3bobobobo$96bob2o47b
2o52b2ob2o51b2obobobo51b2o96bobobobo2b2o2bobobo20bobobo84b2o2bobo10b2o
bob2obobo2bo5b4o7bo5b4o17bo2b2o5bo128b2o2bob2ob29ob2o3b2obob2o100b2o
35b2o2bo4b4o5b3o3b2o$95bobo7b2o39b2ob2o51b2o60bo55bo2b2o91bobobo2b3obo
bo20bobobobobo23b2o58bob2obob2obo5bo2bobo2b2o2b2o5bo6bob2o16bo8bo2b4o
2b3o129bo2bobo35bo4b2ob2o141b2o2bo4b4o$95bobobo6bo38bobo54bo3bo55bo2bo
53bo2bobo90b2obobo2b2o2bob2o17bobobobobobobo21bobo5b2o4b2o6b2o14b2o20b
o2bobobob2o7b2obobo12b3obobobo9b3o3bobo8b2obo5bo133b2obobo31bobob2o2bo
148b2o2bo4b2o$96bobo2bobobo39b2o3bo54b2o54bo57b2o97bo3bo4bo18bobobo2bo
2bobobobo28bo4bobo6bo13bo2bo20b2o3bo15b2o14bobobobo9bo3bobob3o9bo143bo
b31ob2o2b3o2b2o149b2o2bo2bo$98bobo48b2o52b2ob2o53b2obobobo54bo2b2o90b
2o6b2o19b2obo5b2o2bobobo19bobobobo11bobo13bob2obo57b2ob2o8bobo3bobo4bo
8b2o141b2ob34ob2o3b2obo153b2o$98bobobob3o41b2ob2o51b2o62bo53bo2bobo
117bo3bo10bob2o34bobo16bobobo2bo69b2o5b2o3b2o146bob2obobo37bo3bobo$97b
2ob2o45bobo54bo3bo57bo2bo52b2o122b3o12bo3bo18bo3bo13bo14bob2o4bo228b2o
bobo37bobob3o2b2o$147b2o3bo54b2o56bo60bo2b2o113bo17b3o34bo18bo4b2obo
234b36ob2o2bo5bo46b2o$151b2o3b2o47b2ob2o55b2obobobo52bo2bobo114b2o19bo
15bobobobo12bobo15bo2bobobo232bo3b35o2bob2ob4o45bo2bo2b2o$150b2ob2o2bo
48b2o64bo52b2o116bo3bo16b2o15bo15bobo20bob2obo272b2obobob2obob2o43b2o
4bo2b2o$150b2o5bob2o45bo3bob2ob2o53bo2bo55bo2b2o110b3o16bo3bo13b2o5bob
o5bo6bobo15bo2bo233bobobo38bobo5bobo45b4o4bo2b2o$149bo4b2obob2o48b3obo
bo53bo58bo2bobo108bo21b3o22b2o5b2o6b2o16b2o50b2o178b2obo3bob35ob2obo3b
3o39b2o3b3obo3b4o4bo2b2o$150b3ob3o49b2obo2bo2bo53b2obobobo51b2o113b2o
23bo106bo34b2o142bob2obob38o2b3obo42bobobo3b4obo3b4o4bo2b2o$153bo54b2o
2bobo61bo55bo108bo3bo20b2o72b2o12b2o18bo3bo31bo147bobo40bobobob2o41bob
o3bo3b4obo3b4o4bo31b2o$152b2o52b2obob2ob2o58bo2bo53bo110b3o20bo3bo70bo
2b2o9bobo16bob4o12b2ob2o15bo146bobo40bobobob2o41b3o3bo3bo3b4obo3b4o3bo
2b2o23bo7b2o$150bo2bobo50b2o5bo59bo57b3o106bo24b4o72bobo12bo2b2ob2o9bo
bo14bobobobo11b3obo141bob2obob38o2b3obo42b2o2b5o3bo3bo3b4obo3b4o3bo26b
o3bo7b2o$150b2o2b2o53b3obo59b2obobobo160b4o24bo70b2obobo9b2obobobobo5b
2obob2o3b2o7bo7bo9bo2bobo141b2obo3bob35ob2obo3b3o40bobo3b6o3bo3bo3b4ob
o3b3o22b4obo6bo3bo7b2o$206b3o3bo67bobo46b6o105bo3bo20b3o71bo2b2o2bo7bo
2b2o3bobo5bo2b3o4bo8b2obo2b2obo8bob2ob2o144bobobo38bobo5bobo37bobo3bo
3b6o3bo3bo3b4obo22bo6bob4obo6bo3bo7b2o$206bo2b3o66bo5bo44bo112b2o20bo
3bo54b2o14bobo4bo7bobo4bobo8bo5bobo10b3obo2bo5b2ob3o4bo183b2obobob2obo
b2o34b2ob3o3bo3bo3b6o3bo3bo3b4o20bo2bo3bo6bob4obo6bo3bo7b2o$209bo67bo
6bo46bobo107bo23b2o18bob2o6bo3bo7b2ob2o10bo2bo14b5obobo6b5obo11b3ob4ob
2o5b2o2bo3bo6bobo5b2o145bo3b35o2bob2ob4o37bobo2b5o3bo3bo3b6o3bo3bo3bo
20bobo6bo3bo6bob4obo6bo3bo$277b2obobobo46bo111b3o21bo17b2obo5bobobobo
6b2obobo9bob2o19bob2o12bo13bobo3bobo5bo2bob3o10b3obo149b36ob2o2bo5bo
39bobo3b6o3bo3bo3b6o3bo3bo2bo19bob4obo6bo3bo6bob4obo6bo$282bo159bo3bo
16b3o17b2o10b2obo2bo9bobo6b2o2bob2o14b2obo9b6o14bob4o10b2obo14bobo142b
2obobo37bobob3o2b2o40bobo3bo3b6o3bo3bo3b6o3bobobo18bo6bob4obo6bo3bo6bo
b4obo$444b2o16bo3bo15bobob2o9bob2o6b2ob3obo4bo5b2obo13bob2o9bo2bo17bo
33bo143bob2obobo37bo3bobo39b2ob3o3bo3bo3b6o3bo3bo3b5o2bobo21bo3bo6bob
4obo6bo3bo6bobo$443bo19b2o17b2obobo7b2obo8bo3bob2o4bob2o5bo49bo180b2ob
34ob2o3b2obo39bobo2b5o3bo3bo3b6o3bo3bo3b3obo17b4obo6bo3bo6bob4obo6bo3b
o2bo$445b3o17bo19b2o7bo2bob2o7bo11b2obo2b2o49b2o181bob31ob2o2b3o2b2o
42bobo3b6o3bo3bo3b6o3bo3bobo17bo6bob4obo6bo3bo6bob4obo6bo$444bo3bo12b
3o17bob2o10bobobobo7bobob2o7b2obo230b2obobo31bobob2o2bo45bobo3bo3b6o3b
o3bo3b6o3bobo17bo2bo3bo6bob4obo6bo3bo6bob4o$446b2obo10bo3bo16b2obo11bo
3bo9b2ob2o7bo2bo228bo2bobo35bo4b2ob2o39b2ob3o3bo3bo3b6o3bo3bo3b5o2bobo
16bobo6bo3bo6bob4obo6bo3bo$445bobobo2b2o5bob2o60b2o229b2o2bob2ob29ob2o
3b2obob2o39bobo2b5o3bo3bo3b6o3bo3bo3b3ob2o18bob4obo6bo3bo6bob4obo6bo$
175b2obo268bobobobo2bo2bobobo295b2o2b2ob23ob2o2b3o2b2o45bobo3b6o3bo3bo
3b6o3bo3bobo21bo6bob4obo6bo3bo6bob4obo$175bob2o270bobobobobobobo96b2o
14b2o12b2o15b2obo145b2ob2ob2obobo23bobob2o2bo48bobo3bo3b6o3bo3bo3b6o3b
obo24bo3bo6bob4obo6bo3bo6bobo$34bo144b2o270bobobobobo81bo16b2o13bobo
12bobo2bo12bob3o142bob2obo4bo27bo4b2ob2o42b2ob3o3bo3bo3b6o3bo3bo3b5o2b
obo17b4obo6bo3bo6bob4obo6bo3bo2bo$34b2o140b2obobo271bobobo83b3o29bo12b
2o2b4o10bo2bo3bo141bo2bob3o3b2ob21ob2o3b2obob2o42bobo2b5o3bo3bo3b6o3bo
3bo3b3ob2o15bo6bob4obo6bo3bo6bob4obo6bo$34b2o2b2o136bobobobo272bo83b2o
3bo11b6o9b2ob4o9bobo14b2obob3o142b2o3bo2b3o2b2ob15ob2o2b3o2b2o48bobo3b
6o3bo3bo3b6o3bo3bobo18bo2bo3bo6bob4obo6bo3bo6bob4o$35bo3bo137b2o3bo
357bobo2bo9bo6bo7bobobo3bobo5bo2b2o2b3o10b2o4b2o137b3o3bo3bo2b2obobo
15bobob2o2bo51bobo3bo3b6o3bo3bo3b6o3bobo19bobo6bo3bo6bob4obo6bo3bo$36b
3o140bo3b2o355bobo3bo7bob2o3bobo6bo3b4ob2o6b2o3b2o2bobo7bo3bobo138bo3b
3obob2o4bo19bo4b2ob2o45b2ob3o3bo3bo3b6o3bo3bo3b5o2bobo19bob4obo6bo3bo
6bob4obo6bo$34bobo142bobobobo355bo2b2obo6b2ob2obobo6b2obo2bobo11bob2ob
2ob2o5bob3obobo139b3obob2obob2o3b2ob13ob2o3b2obob2o45bobo2b5o3bo3bo3b
6o3bo3bo3b3ob2o19bo6bob4obo6bo3bo6bob4obo$33bo2bo143bobobobo352bobob2o
bobo8bo2bo9bobo4bo11bo3bobo8b2o4bob2o140bo7b2o2b3o2b2ob7ob2o2b3o2b2o
51bobo3b6o3bo3bo3b6o3bo3bobo25bo3bo6bob4obo6bo3bo6bobo$33bo147b2o3bo
352b2o2bo2b2o9b2obo9bobo2b2o13bo2bobo11b3o145b2o8bo2b2obobo7bobob2o2bo
54bobo3bo3b6o3bo3bo3b6o3bobo20b4obo6bo3bo6bob4obo6bo3bo2bo$35b4o88b2o
2b2o50bo3b2o354bobo12bob2o7b2obobo16bo2bo9b2obo145bob2ob2o2b2ob2o4bo
11bo4b2ob2o49bob3o3bo3bo3b6o3bo3bo3b5o2bobo16bo6bob4obo6bo3bo6bob4obo
6bo$40bo86bo2bobo50bobobobo354b2o12bo14b2o17b2o10bobo145bobobo2bo2b2ob
ob2o3b2ob5ob2o3b2obob2o48bobo2b5o3bo3bo3b6o3bo3bo3b3ob2o16bo2bo3bo6bob
4obo6bo3bo6bob4o$37bo2bo87b2obo52bobobobo366b2o192bo2bo2bo8b2o2b3o2b2o
b2o2b3o2b2o52bobobo3b6o3bo3bo3b6o3bo3bobo20bobo6bo3bo6bob4obo6bo3bo$
37bobo29bo59bob2o52b2o3bo560bobo3bobo9bo2b2obo3bob2o2bo56bo2bo3bo3b6o
3bo3bo3b6o3bobo22bob4obo6bo3bo6bob4obo6bo$35bobo29bobo56b3ob2o55bo3b2o
116bob2o437b2ob2o3b2o6b2obo5bobobo5bob2o56bo3bo3bo3b6o3bo3bo3b5o2bobo
20bo6bob4obo6bo3bo6bob4obo$34bo2bo28bo4bo54bo2bo4bo52bobobobo113b2o3bo
453bobob3o3bobo3b3obobo57b4o3bo3bo3b6o3bo3bo3b3ob2o23bo3bo6bob4obo6bo
3bo6bobo$34bo31b5o56bo2bo2b2o53bobobobo116bo456bo2bo2bobobobo2bo2bo61b
ob4o3bo3bo3b6o3bo3bobo21b4obo6bo3bo6bob4obo6bo3bo2bo$36b4o31bo52b3o4bo
bob2o52b2o3bo44b3ob2ob2o4bo56bo4b2o298b2o152b2o3b2obobob2o3b2o59b3o3bo
b4o3bo3bo3b6o3bobo19bo6bob4obo6bo3bo6bob4obo6bo$41bo26b2o54bo7bob2o55b
o3b2o47bobo3bobo57bo2bobo230bo12bob2o30bo20bo162bo67bo3b4o3bob4o3bo3bo
3b5o2b2o18bo2bo3bo6bob4obo6bo3bo6bob4o$38bo2bo26bobo62bo4bo52bobobobo
42bobobobobobobo56b2o234bobo9b3obo17b2o11bobo12b2o2b2obo230b2o2bo3b4o
3bob4o3bo3bo3b3o21bobo6bo3bo6bob4obo6bo3bo$38bobo31bo61bo2b2o53bobobob
o40bo4bo63bo2b2o2bo229bobo8bo4bobo14bo13bobo12bo2bobob2o236bo4b4o3bob
4o3bo3bobo23bob4obo6bo3bo6bob4obo6bo$36bobo33bobo60bobob2o52b2o3bo40b
2o11bo55b2o234b2ob2o8b3obo2bo10b2o4bo9b2ob2o2bo9b2obo2bo2bo234b2o2bo4b
4o3bob4o3bobobo21bo6bob4obo6bo3bo6bob4obo$35bo2bo34bo62bob2o55bo3b2o
112bobobobo219bob2o4bo2bo8b2o3bo10bob3obo8bo4bo2b3o9b3ob4o238b2o2bo4b
4o3bob3o3b2o24bo3bo6bob4obo6bo3bo6bobo$35bo38bo62bo4bo52bobobobo50b2o
65bo219b2ob3o2b4o10b2o13bobo2b3o7b3ob3o3bo6b2obo2bo245b2o2bo4b4o31b2o
7bo3bo6bob4obo6bo3bo2bo$37b4o35bo61bo2b2o53bobobobo56bo53b2o2bo2bo223b
2obo11b2obobo8b3o3b2o3bo8bo2bob3o8bo6b2o246b2o2bo4b2o36b2o7bo3bo6bob4o
bo6bo$42bo33bobo60bobob2o52b2o3bo48b3obobobo55bo228bo4b2o8b2obob3o6bo
6bo2bo14bo10bob4obobo249b2o2bo2bo42b2o7bo3bo6bob4o$39bo2bo34bo62bob2o
55bo3b2o52bobo57bobobobo219b2ob2obo12bo4bo12bobo12bobo12bo4bo2bo254b2o
50b2o7bo3bo$39bobo36bo62bo4bo52bobobobo117bo217bo2bobo2bo12bob3o14bo
13b2o15bo2bobo314b2o7bo$37bobo40bo61bo2b2o53bobobobo52bo57b2o2bo2bo
216b2o4b2o14b2o46b2o3bo322b2o$36bo2bo40bobo60bobob2o52b2o3bo112bo$36bo
44bo62bob2o55bo3b2o50b2o60bobobobo$38b4o40bo62bo4bo52bobobobo56bo60bo$
43bo40bo61bo2b2o53bobobobo47b3obobobo54b2o2bo2bo561bo$40bo2bo40bobo60b
obob2o52b2o3bo53bobo56bo564bobo$40bobo42bo62bob2o55bo3b2o112bobobobo
215b2o17bo325bo$38bobo45bo62bo4bo52bobobobo52bo64bo215bo17bobo13b2o17b
2o12b2o270b2o$37bo2bo47bo61bo2b2o53bobob2o111b2o2bo2bo211b2obo18bo11b
2o2bo10b2o5bo12bobo276b2o$37bo50bobo60bobob2o52b2o55b2o59bo215bobob2o
11b2o15bo2b2o11bobob2obo12bo188b2o83bo$39b4o46bo62bob2o55b2obo58bo55bo
bobobo203bo2bo4bo2bo7bo2bo2b5o8bobo2b3o10bobobo11b2obo183b2obobo80bo4b
o4bo$44bo45bo62bo4bob2o49bob2o50b3obobobo61bo203b4obo2b4o7b2obobobo3bo
6b2ob2obo2bo8b2obo9b2obobob3o181bo50b2o31bobo4bo7b2o$41bo2bo47bo61bo2b
3obo109bobo55b2o2bo2bo206b3obo11bobo2bo2b3o5bo5b2o2bo9b2o2bo8bob2obo3b
o181bo3bo3b2o36b2obobo35bo3bobobobobo44b3o$41bobo48bobo60bobo2bo170bo
209b2obo4b4o6bo4b3o9b3ob2obob2o9bo2bo8bo2b2o2bobo190bo36bo34b2o59bo$
39b3o51bo62bob2o113bo59bobobo2b2o199bo2b4obo2bo7b3obo2bo10bo4bo2bo7bob
obo8b2o3bo2bob2o146b2o2b2o28bobobobobo38bo3bo35b2o4bo5bo37b2obobo3bo$
38bo3bo51bo3bo58bobobo176bo2bo200b2o4bo14bo2b2o12bobobo8bob2obobo8b3o
3bobo147bobo2bo24b2o15b2o67bo19b2o33bo11b2o$38b2o2b2o52bobobo54bobo2b
2o111b2o60bobob2o202bob3o14bo16b2ob2o9bo5b2o8bo2b3o2bo151bo25bobobo5bo
bobobobo32bobobobo3b2o20bo4bo4bo3bobobobobobo34bo5bobobobo$42b2o52bobo
55bob2o122bo53bo4bo203bobo16b2o28b2o18bo4b2o143b2o2bo5b2o68b2o13bo18bo
bo4bo$43bo51b2obob2o52bo117b3obobobo53b2o3bo204bo217bobo3bobo2bo23bobo
bobobo3bo3bo3b2o23bobobo5bobobo23bo3bobobobobo3bo5bo26b3o5bobobobo5bo$
98bo54b2o123bobo60bo424bo5bo45bo55b2o29b2o20bo24b2o$98b2o237bobobo417b
2o2bo5bo5b2o15b2obobo3bo3bo3bobobobobo26bobobo5bobobo21b2o4bo5bo3bobob
obobobo15b2obobo3bo3bobo3bo5bobobobo$280bo56b2o2bo417bobo3bobo3bobo2bo
15bo29b2o39b2o10bo46bo$763bo5bo5bo17bo3bo3bobobobobo5bobobobobo15b2obo
bo3bobobobo3bobobobo12bo4bo3bobobobobobo3bo5bo16bo5bobobobo5bobobobo5b
o$280b2o474b2o2bo5bo5bo5b2o59bo37bo78b2o$285bobob3o464bobo3bobo3bobo3b
obo2bo13bobobobobo5bobobobobo3bo3bo16bo3bo5bo3bo5bo3bo13bobobobobo3bo
5bo3bobobobobo14bobobobo5bo3bobo3bo5bobobobo$279b3obo2bo473bo5bo5bo5bo
10b2o33bo40bo43bo13b2o$284bobobobo466bo5bo5bo5bo13bobobo5bobobobobo3bo
3bo3bobob2o15bobobobo3bobobobo3bobob2o14bo5bo3bobobobobobo3bo4bo17bo5b
obobobo5bobobobo5bo$285bobo3bo464bo2bobo3bobo3bobo3bobo56b2o73bo48b2o$
286bo3b2o464b2o5bo5bo5bo2b2o11bobobobobo3bo3bo3bobobobobo16bobobo5bobo
bo5bobobo19bobobobobobo3bo5bo4b2o20bobobobo5bo3bobo3bo5bobobobo$760bo
5bo5bo107b2o29b2o14b2o$759bo2bobo3bobo3bobo9b2obobo3bo3bo3bobobobobo5b
obobo16bobobo5bobobo5bobobo21bo5bo3bobobobobo3bo24bo5bobobobo5bobobobo
5bo$759b2o5bo5bo2b2o9bo33b2o39b2o40bo4bobo51bo$763bo5bo17bo3bo3bobobob
obo5bobobobobo15b2obobo3bobobobo3bobobobo25bobobobobobo3bo4bo4bo22bobo
bobo5bo3bobo3bo3bobob2o$762bo2bobo3bobo59bo50b2o19bo25b2o24bo$762b2o5b
o2b2o13bobobobobo5bobobobobo3bo3bo16bo3bo5bo3bo5bo3bo29bo5bo4b2o34bo5b
obobobo5b3o$766bo20b2o29bo40bo45b2o$765bo2bobo22bobobobobo3bo3bo3bobob
2o15bobobobo3bobobobo3bobob2o28bobobobobo3bo34bobobobo5bo$765b2o2b2o
21bo41b2o52b2o7bo4bobo30b2o11bo$792b2o3bo3bo3bobobobobo26bobobo5bobobo
37bo4bo4bo36bo3bobob2o$899bo43bo$797bobobobobo5bobobo26bobobo5bobobo
36b2o44b3o$797b2o15b2o25bo13b2o42b2o$803bobobobobo29b2o3bobobobo41bo$
802bo93bobo$802b2o3bo3bo36bo3bo43bo$812bo40bo$807bobob2o35bobob2o$807b
2o39b2o5$773b2o$772bo2bo$772bob2o$766b2o2b2obo2b2o$766bo2bo3bobo2bo95b
2o$767bo3bo5bo88b2ob2o4bo3bo$763b2o6bo4bo89b2obobo3bob3o10b2o2b2o$763b
o2bobo10b2o88bo6bo12bobo2b2o$764bo5bobobobo2bo89bob2o5b4o7bo$760b2o6bo
8bobobo84b2obo7b2o2bo5b2ob6o$760bo2bobo6bo3b2o2bobo83bo2b3o4bo3bo5bo3b
o4bo$761bo5bobo8bobo2bo28b2o2b2o2b2o2b2o2b2o2b2o2b2o2b2o25b2o7bo9bo3bo
bobo$757b2o6bo5bobo2b2obobobo28bo2bobo2bo2bobo2bo2bobo2bo2bobo27bo2bob
o3bobobobo3bo3bo$757bo2bobo6bo5bo3bobob2o28bo7bo7bo7bo31bo$758bo5bobo
6bo3bo3bo2bo31bo7bo7bo7bo29b2o2bobobobo3bobobo7bo$754b2o6bo5bobo6bo5bo
4b2o18b2o2bobo5bobo5bobo5bobo5b2o48b3o$754bo2bobo6bo5bobo7bo4bo2bo17bo
bo5bobo5bobo5bobo5bobo2bo26bobobo3bobobobo2b2o2bo$755bo5bobo6bo5bobo8b
ob2o21bo7bo7bo7bo7bo46bo2bo$759bo5bobo6bo5bobo2b2obo2b2o16bo7bo7bo7bo
7bo30bo3bobobobo3bobo2b2obo$753b2o8bo5bobo6bo5bo3bobo2bo14bo2bobo5bobo
5bobo5bobo5bobo22b2o22bob2o$752bo3bobobo6bo5bobo6bo3bo5bo15b2o5bobo5bo
bo5bobo5bobo2b2o22bobobobobobo3bobobobobobo$752b2obo3bo2bobo6bo5bobo6b
o4bo21bo7bo7bo7bo27b2obo22b2o$753bobobob2o5bobo6bo5bobo10b2o20bo7bo7bo
7bo25bob2o2bobo3bobobobo3bo$753bo2bobo5bo5bobo6bo5bobobobo2bo13b2o2bob
o5bobo5bobo5bobo5b2o20bo2bo$754bobo2b2o7bo5bobo6bo8bobobo11bobo5bobo5b
obo5bobo5bobo2bo21bo2b2o2bobobobo3bobobo7bo$755bobobobobobo6bo5bobo6bo
3b2o2bobo14bo7bo7bo7bo7bo19b3o27b3o$757bo9bobo6bo5bobo8bobo2bo10bo7bo
7bo7bo7bo22bo7bobobo3bobobobo2b2o2bo$756b2o3bo3bo5bobo6bo5bobo2b2obobo
bo9bo2bobo5bobo5bobo5bobo5bobo45bo2bo$769bo5bobo6bo5bo3bobob2o8b2o5bob
o5bobo5bobo5bobo2b2o26bo3bobobobo3bobo2b2obo$759b2o3bobo6bo5bobo6bo3bo
3bo2bo13bo7bo7bo7bo30b2o22bob2o$758bo3bo2bo2bobo6bo5bobo6bo5bo17bo7bo
7bo7bo27bobobobobobo3bobobobobobo$759b2o2bob2o5bobo6bo5bobo7bo10b2o2bo
bo5bobo5bobo5bobo5b2o19b2obo22b2o$761b2obo5bo5bobo6bo5bobo14bobo5bobo
5bobo5bobo5bobo2bo20bob2o2bobo3bobobobo3bo$761bo2bo9bo5bobo6bo5bobo14b
o7bo7bo7bo7bo21bo2bo$762b2o4b2o8bo5bobo6bo2b2o11bo7bo7bo7bo7bo25bo2b2o
2bobobobo3bobobo$767bo3bobobo6bo5bobo17bo2bobo5bobo5bobo5bobo5bobo18b
3o$767b2obo3bo2bobo6bo5bobo13b2o5bobo5bobo5bobo5bobo2b2o18bo7bobobo3bo
bobobo2b2o$768bobobob2o5bobo6bo2b2o18bo7bo7bo7bo53bo$768bo2bobo5bo5bob
o28bo7bo7bo7bo27bo3bo3bobobobo3bobo2bo$769bobo2b2o7bo5bobo16b2o2bobo5b
obo5bobo5bobo5b2o20bobobo3bo9bo7b2o$770bobobobobobo6bo2b2o16bobo5bobo
5bobo5bobo5bobo2bo19bo4bo3bo5bo3bo4b3o2bo$772bo9bobo27bo7bo7bo7bo7bo
20b6ob2o5bo2b2o7bob2o$771b2o3bo3bo5bobo20bo7bo7bo7bo7bo29bo7b4o5b2obo$
784bo2b2o19bo2bobo5bobo5bobo5bobo5bobo19b2o2bobo12bo6bo$774b2o3bobo26b
2o5bobo5bobo5bobo5bobo2b2o19b2o2b2o10b3obo3bobob2o$773bo3bo2bo2bobo27b
o7bo7bo7bo43bo3bo4b2ob2o$774b2o2bob2o2b2o30bo7bo7bo7bo44b2o$776b2obo
32bobo2bo2bobo2bo2bobo2bo2bobo2bo$776bo2bo32b2o2b2o2b2o2b2o2b2o2b2o2b
2o2b2o$777b2o!
-- But don't believe anything I say about the jslife collection until Sokwe or somebody corroborates. I've been known to lose track of where the latest updates are kept. Would really like to get a copy of Jason's website over onto conwaylife.com/ref, where updates might be made occasionally. But I'd rather have that be an official decision by Jason, with a redirect from the old URL. I did hear back from him when I proposed this a month or two back, but haven't gotten a definite answer yet.

EDIT: Aha, JLS came through eventually!

Code: Select all

x = 16, y = 18, rule = LifeHistory
7.AB$6.BABA$5.A4.A$2A3.2A2CBA3.2A$A2.2A2.CD2.2A2.A$.2A3.A2.B3.2A$3.AB
8A$3.A.B4.A.A$2A.A.AB2CAB.A.2A$AB.A.A.DC.A.A.2A$2.BA.AB2.2A.2A$2.A2.A
4.A2.A$2.ABAB4.ABAB$.B4.A2.B4.A$.5AB2.5AB$.B4.A2.B4.A$2.ABAB4.ABAB$3.
BA6.BA!
No doubt I should have limited the population or started with a smaller box, but any example is good for a start.

Sokwe
Moderator
Posts: 2645
Joined: July 9th, 2009, 2:44 pm

Re: Thread for basic questions

Post by Sokwe » January 22nd, 2020, 1:17 am

Here are small oscillators demonstrating four of the five pairs:

Code: Select all

x = 70, y = 13, rule = LifeHistory
27.A$26.A.A.2A$26.A.2A.A15.2A16.2A$2.2A4.2A14.2A.A13.2A3.A.A15.A.A$A
2.A4.A2.A11.A2.A.3A10.AB.AB.B16.A$2A.A.2C.A.2A10.A.DC.A2.A12.2D.A15.D
CABA$2.2ABDC2AB9.A2.A.CD.A14.ADCAB15.2C.2B$2.A.B2.A.B9.3A.A2.A15.B.2A
14.3A2.A.A$2A.2A2.2A.2A10.A.2A15.A.AB.2A11.A2.2B3A.A$.A.A4.A.A7.A.2A.
A16.A.B3.2A11.2A.AB.AB.A$.A.A4.A.A7.2A.A.A16.2A22.A3.2A$2.A6.A12.A42.
3A$67.A!
(the third oscillator above can also be seen in Nicolay Beluchenko's shifting block collection). The final pair is

Code: Select all

* O  * o
O o  o O
which JLS will quickly tell you is impossible. One could probably work out a proof of this by hand.
dvgrn wrote:
January 21st, 2020, 11:30 pm
I mentioned jslife, but it looks like the oscillator supplement doesn't add any new P2s, so the 2012 collection is what's available... But don't believe anything I say about the jslife collection until Sokwe or somebody corroborates.
I have not updated any p2 oscillator collections. jslife is meant to be human readable, so it doesn't contain large numbers of low period oscillators.
dvgrn wrote:
January 21st, 2020, 11:30 pm
No doubt I should have limited the population or started with a smaller box
I think limiting the bounding box would be the best in this case.
-Matthias Merzenich

Post Reply