Рассылка =Игра Жизнь=

Выпуск 2 от 17.09.2006

Пожиратели.

 к содержанию

Примечание: Иллюстрации в этом и других выпусках данной рассылки представлены в формате RLE. Для их просмотра вам понадобится программа просмотра паттернов Жизни. Я рекомендую программу Life32. Чтобы просмотреть диаграмму, скопируйте ее в буфер обмена и вставьте прямо на поле программы.


Пожиратели — это объекты, которые при взаимодействии с другими объектами Жизни могут уничтожить, поглотить их, сами оставшись при этом неизмененными. В некоторых случаях пожиратели не полностью поглощают другой объект, но существенно изменяют процесс его развития. Близки к пожирателям по действию такие объекты, как источники искр. Отличие в том, что источники искр являются осцилляторами, а значит применимы только тогда, когда их период подходит для данного случая. Пожиратели же, являясь натюрмортами, в этом смысле более универсальны.

Пожиратели являются самыми распространенными инструментами любителя Жизни. Умение манипулировать пожирателями может помочь вам приручить найденные вами многообещающие, но не совсем чистые реакции. Впрочем, это лучше показывать на конкретных примерах.

Блок

Простейшим и очень эффективным пожирателем является блок. Вот четыре реакции, в которых блок пожирает улей, каравай, лодку и предсветофор.

x = 51, y = 4, rule = S23/B3
20bo$4boo13bobo12bo14bo$oobobbo8boobobbo8boobobo9boob3o$oobboo9boobboo
9boobboo9boo!

Вы скажете, какой смысл поглощать первые три объекта, ведь они не могут передвигаться, а значит не могут пододвинуться к блоку? Да, уже образованные в другом месте, они не смогут приблизиться к блоку. Но они могут появиться в ходе развития какого-либо неустойчивого объекта — если вы запускали случайные паттерны, вы видели, как часто они образуются. И очень часто они бывают лишними. Вот здесь и могут пригодиться блоки.

Самый известный пример — это приручение пчелы. Если вы запустите следующий паттерн, вы увидите, как пчела пролетит некоторое расстояние, затем отложит улей, развернется и в 15-м поколении примет свой первоначальный вид, но окажется повернутой в противоположную сторону. За следующие 15 поколений она отложит второй улей и еще раз развернувшись окажется в первоначальном положении. Но вот дальше ничего не получится. Теперь на пути пчелы первый улей, и она неизбежно наталкивается на него с летальным исходом. А жаль. Такая красивая была пчела, и, казалось, она может летать туда-суда до бесконечности.

x = 4, y = 7, rule = S23/B3
3bo$bboo$boo$3o$boo$bboo$3bo!

Вот здесь и может пригодиться блок с его любовью к меду. Поставим блок в такую позицию, чтобы отложенный пчелой улей оказался в непосредственной близости от него. Как только улей образуется, блок не заставит себя долго ждать и тут же скушает его. Второй блок будет сторожить второй улей. Смотрите, что получилось: теперь пчела всегда возвращается на пустое место и может опять и опять кормить блоков-ВинниПухов своими ульями.

x = 22, y = 7, rule = S23/B3 12bo$11boo$10boo$oo7b3o8boo$oo8boo8boo$11boo$12bo!

Мы получили осциллятор периода 30, который называется челнок пчелиной матки. Существует несколько разновидностей этого челнока, отличающихся тем, что вместо блока используются другие пожиратели или источники искр. Можно также расположить 2, 3 или 4 пчелы так, чтобы откладываемые ими ульи уничтожались при взаимодействии друг с другом. И, наконец, можно найти реакцию, при которой вторая пчела, пытающаяся отложить свой улей на еще не совсем оформившийся улей первой пчелы, произведет глайдер — получится глайдерное ружье Госпера.

Но это уже не относится к сегодняшней теме.

Вот реакция, найденная Дейвом Бакинэмом. На диаграмме вы видите группу из четырех блоков и Гершел. Сам по себе Гершел неустойчивая конфигурация, которая пытается двигаться, испускает глайдер, но затем расплывается в стороны, испускает еще один глайдер и умирает, оставляя на поле два блока и корабль. Здесь же Гершел движется прямо на группу из четырех блоков, один из которых ему удается поглотить. Но остальные очень удачно расположены: им удается своими укусами не только отогнать "хищника", но и заставить его вернуть на место первый блок. В 64 поколении Гершел принимает свой первоначальный вид, но оказывается повернутым на 90 градусов — теперь он удаляется от блоков.

x = 16, y = 22, rule = S23/B3
7boo$7boo3$13boo$13boo$9boo$9boo4$14boo$14boo7$3o$bo$b3o!

Поскольку кроме исходных объектов на поле добавился испущенный Гершелом глайдер, эта реакция может быть использована для создания глайдерного ружья. Расположив на пути Гершела 4 группы блоков, которые будут передавать его друг другу, мы заставим Гершел бегать по кругу и каждые 64 поколения испускать глайдер. таким образом, мы получили стреляющее во все стороны ружье периода 256.

x = 49, y = 49, rule = S23/B3
16boo$9boo5boo$9boo3$11boo27boo$11boo27boo$5boo$5boo$46boo$46boo$42boo
$42boo4$47boo$47boo7$33b3o$34bo$34b3o5$oo$oo4$5boo$5boo$boo$boo$42boo$
42boo$7boo27boo$7boo27boo3$38boo$31boo5boo$31boo!

Рыболовный крючок

Самый известный пожиратель — это рыболовный крючок или просто пожиратель. В словаре Стивена Сильвера он называется также Пожиратель-1. Это наименьший натюрморт, не обладающий никакой симметрией. Его фантастическая устойчивость, способность к самовосстановлению при взаимодействии с другими объектами, были по достоинству оценены. Сейчас рыболовный крючок является компонентом тысяч конструкций. Вот некоторые реакции, в которых он пожирает мигалку, предулей, предшественников каравая (3), предпасеку, пи-гептамино и его предшественника, пред-R-пентамино.

x = 67, y = 22, rule = S23/B3
5bo14boo14boo26boo$5bo14boo13boo13b3o11b3o$5bo14boo13bo14bobo11b3o$bb
oo13boo13boo13boobboo8boo$bobo12bobo12bobo12bobo11bobo$bo14bo14bo14bo
13bo$oo13boo13boo13boo12boo8$6bo29bo$5bobo12b3o12bo14bobo$5bobo12bobo
12bo14boo$5boo13bobo12boo13bo$bboo13boo13boo13boo$bobo12bobo12bobo12bo
bo$bo14bo14bo14bo$oo13boo13boo13boo!

Как видите, механизм пожирания у рыболовного крючка несколько другой. Если блок предпочитал пищу, придвинутую к нему одной живой клеткой, то пожирателю-1 нужна плоскость, образованная минимум двумя, а лучше всего тремя клетками. Например пожирателю не по зубам улей, но он может его начать есть за одно поколение до полного формирования — и таким образом он тоже может стабилизировать челнок пчелиной матки. Эта разновидность челнока пчелиной матки называется ковбой и интересна тем, что может работать как отражатель глайдеров. Отражение происходит с помощью трехбитной отражающей искры, которая образуется (см. поколение 8) при распаде предулья после укуса пожирателя.

x = 24, y = 12, rule = S23/B3
bbo$obo$boo$11bo$9bobo$8bobo$7bobbo11boo$8bobo11boo$3boo4bobo$bbobo6bo
$bbo$boo!

Но особенно замечательна способность пожирателя поглощать такие объекты, как глайдеры, а также легкие и средние космические корабли.

x = 41, y = 7, rule = S23/B3
5bo14b4o11b5o$5bobo12bo3bo10bo4bo$5boo13bo14bo$bboo13boobbobbo7boobbo
3bo$bobo12bobo12bobo4bo$bo14bo14bo$oo13boo13boo!

Можно также натравить двух пожирателей друг на друга. Они тут же начинают кусать друг друга, но в силу своей устойчивости через 3 поколения оба восстанавливаются — и взаимные укусы повторяются. Таким образом, получается осциллятор периода 3, который так и называется "два пожирателя" или "пожиратель пожирающий пожирателя".

x = 9, y = 8, rule = S23/B3
7boo$7bo$5bobo$5boo$bboo$bobo$bo$oo!

Есть еще несколько осцилляторов, в названиях которых обыгрывается тема пожирателей. Это откусывающие больше чем могут прожевать, спутанные пожиратели, игра блок/едок, пожирательный разъем, французский поцелуй, огнедышащий, закусочная, Z-гексамино зажатое пожирателями:

x = 70, y = 32, rule = S23/B3
o18bo20boo23bo$3o16b3o19bo21b3o$3bo18bo18bobo18bo$bboo17bo20bobo18bo$
3boo16bobbo19booboo11bobbo$4boo18bo22boo10boboo$3bobbo15bobo16boo16bo$
3bobboo14boobboo14bo15boo$4boob3o16bobo10b3o$8bobo17bo10bo$10bo17boo$
10boo9$o17bo11boo16boo18boo$3o13b3o12bo16bo19bo$3bo11bo15bobo12bobo17b
obo$bbobboo9bob3o11boo12boo18boo$bbo4bo8bo5bo14bo4bo19boo$3boobbo9bobb
o14boob4oboo18bo$6bo10bobobbobo12bo4bo20bo$7b3o13boo7boo12boo15boo$9bo
21bobo12bobo10boo$31bo16bo9bobo$30boo16boo8bo$57boo!

Пожиратели-1 участвуют в очень многих реакциях. Вот, например, 2 недели назад найденный Брайсом Дью трубопровод, за 171 поколение перемещающий Гершел на 29 ячеек по горизонтали и 17 ячеек по вертикали. В нем развивающийся Гершел в 29-м поколении взаимодействует с первым (левым) пожирателем, в 37-м поколении второй раз взаимодействует с ним же, в 43-м поколении наталкивается на второй, нижний пожиратель, оставляет около него мигалку и движется вверх к паре верхних пожирателей. Взаимодействие с ними происходит почти одновременно — в 120 поколении с самым верхним, а в 121-м поколении с оставшимся. Причем последнее взаимодействие нетипично для рыболовного крючка, тем не менее он остается цел, а обкусанное движущееся облако в 171-м поколении снова принимает знакомый облик Гершела. Заметьте, что Гершел оказывается в такой позиции, что его будущий естественный глайдер нацелен на мигалку. Результатом прохождения Гершела по трубопроводу является не только его перемещение, но и 2 глайдера, один из которых — естественный.

x = 14, y = 35, rule = B3/S23
10bo$10b3o$13bo$12boo7$4boo$5bo$5bobo$6boo3$o$3o$3bo$bboo7$bo$bobo$b3o
$3bo$$10boo$11bo$8b3o$8bo!

Значение показанного выше трубопровода очень велико. До сих пор было известно только 16 независящих от периода трубопроводов. Все они были найдены в 1995-1998 годах. Поэтому все осцилляторы и ружья на базе петель Гершела строились только из этих трубопроводов. Появление 17-го устойчивого трубопровода означает, что для некоторых периодов возможно построение осцилляторов и ружей меньшего размера. Конечно, пересмотр нескольких тысяч периодов потребует нескольких месяцев работы, но вот одно из самых очевидных ружей (оно имеет период 299, его автор Дейв Грин), использующих новый трубопровод. Оно существенно меньше известного ранее.

x = 78, y = 66, rule = B3/S23
60boo$60boo5boo$67boo$31bo$31b3o12bo$34bo11b3o16boo$33boo14bo7boo6boo$
26bo21boo4boob3o11boo$26b3o25boo3boo10boo$29bo26bobobbo$28boo26b3obboo
$56boboboo$60bo$25boo23bo$26bo22bo$26bobo20b3o$27boo$72boo$72bo$21bo
48bobo$21b3o46boo$24bo$7boo14boo$7boo3$boo$boo$5boo41bo$5boo39b3o$45bo
$35bo9boo29boo$35bo6bo33boo$oo33bo6bo$oo29boo9bo$32bo$29b3o39boo$29bo
41boo$75boo$75boo3$69boo$53boo14boo$53bo$6boo46b3o$5bobo48bo$5bo$4boo$
49boo$26b3o20bobo$28bo22bo$27bo23boo$17bo$16boobobo$15boobb3o$16bobbob
o$5boo10boo3boo$5boo11b3oboo4boo$11boo6boo7bo14boo$11boo16b3o11bo$31bo
12b3o$46bo$9boo47bo$9boo5boo41bo$16boo39b3o!

Любой желающий может подключиться к этой работе — для этого вам надо освоить программу поиска петель Гершела hersrch, написанную Карелом Сухайдой. Кроме того, чтобы не дублировать работу других, надо будет сообщить о своем желании Дейву Грину (можно мне — я переписываюсь с Дейвом и могу сыграть роль посредника), и вам будет выделен диапазон периодов.

Однако, вернемся к рассмотрению пожирателей.

Многие другие натюрморты имеют такое же окончание, как и рыболовный крючок, например длинный упор, стабилизированный блоком. Естественно, многие их них также могут применяться в качестве пожирателей. У рыболовного крючка одно преимущество — он самый маленький. И поэтому чаще всего применяется именно он. Другое дело, когда не хватает места или хочется ужать паттерн, состоящий из нескольких частей до минимально возможных размеров (этот процесс называется оптимизацией). Тогда приходится "сваривать" два объекта, выполняющие разные функции, в один универсальный. Например, вместо двух рыболовных крючков иногда применяются такие натюрморты, как интеграл, чайка, блок и док, пара длинных упоров.

x = 55, y = 30, rule = B3/S23
bbo18bo19bo8bo$obo16bobo20bo6bo$boo17boo18b3o6b3o$4boo17boo$4bobo16bob
o17boobboo$6bo18bo17bo4bo$6bobo16b3o16b4o$7boo19bo$10boo15boo15boo$10b
obo31boo$10bo18b3o$29bo$30bo8$3bo9bo8bo19bo$bobo9bobo4bobo17bobo$bboo
9boo6boo9bo8boo5boo$5boo3boo12boo6bobo9boobbo$5bobobobo12bobo5boo10bob
obo$7bobo16bobboo15bobobo$7bobo16bobobo15bobboo$6booboo14boobo16boo5b
oo$28bo23bobo$28boo22bo!

Вот еще три пожирателя, родственных пожирателю-1.

x = 57, y = 14, rule = B3/S23
bo25bo20bo$bbo25bo20bo$3o23b3o18b3o$$34boo19boo$5boobbooboo17boobbo16b
oobbo$5bobobboboo17boboo17boboo$7boobo22bo20bo$7bobboboo19bo20bo$9boob
oo13boobboo19boo$27bobbo20bo$29boo18b3o$48bo$48boo!

Каменный хвост

Рассмотрим следующий трубопровод, за 59 поколений превращающий B-гептамино в Гершел — он был найден Дейвом Бакинемом в 1992 году. Посмотрите подробно поколения 32-34. Здесь развивающееся r-пентамино (его классическая форма появляется в 11 поколении) взаимодействует с рыболовным крючком, причем это не обычное для рыболовного крючка взаимодействие — здесь он не "открывает рот", как обычно, а остается неизменным, с "каменным лицом". В этом случае пожиратель принято называть скалой.

x = 6, y = 13, rule = S23/B3
4bo$bb3o$bo$boo6$o3boo$oobboo$boo$oo!

Оказывается, можно повернуть пожиратель, подставив для взаимодействия его хвост, и этот хвост также будет работать, как скала.

x = 7, y = 13, rule = S23/B3
oo$obo$bbo$bboo6$bo3boo$boobboo$bboo$boo!

Общее между этими двумя вариантами — это три живые ячейки, образующие предблок. Такие окончания имеются у многих других натюрмортов, например, у змеи, длинной змеи, авианосца, каноэ, дубинки. И все они будут работать в этом случае. Конечно, наиболее интересны для практических применений самые маленькие из них, то есть змея и авианосец. Обычно этот трубопровод изображается именно со змеей в качестве пожирателя. Он также останется работоспособным, если применить осциллятор, который в поколении 33 подставит для взаимодействия предблок. На нашей диаграмме для примера показаны бакен, биполь и p5 Сильвера.

x = 126, y = 39, rule = S23/B3
32boo60boo24boo$boo30bo28boo29bobo24bobo$bbo29bo30bo28bo29bo$bo29bo29b
o29bo29bo$boo28boo28boo28boo28boo6$o3boo24bo3boo24bo3boo24bo3boo24bo3b
oo$oobboo24boobboo24boobboo24boobboo24boobboo$boo28boo28boo28boo28boo$
oo28boo28boo28boo28boo10$59boo28boo$59boo28bobo$34boo25bobo26bo$3boo
28bobo28bo27b3o$3boo55bobbobboboo23b4oboo$boo28bobo26bobbobboobo20bobb
obboobo$boo28boo28boo28boo6$o3boo24bo3boo24bo3boo24bo3boo$oobboo24boo
bboo24boobboo24boobboo$boo28boo28boo28boo$oo28boo28boo28boo!

Каменный хвост не может поглотить без остатка глайдер. Но посмотрите следующий пример. Первый глайдер ударяется в хвост рыболовного крючка и превращается в лодку, а второй глайдер уничтожает лодку и уничтожается сам.

x = 14, y = 12, rule = B3/S23
12boo$13bo$10b3o$10bo$5b3o$7bo$6bo3$3o$bbo$bo!

Таким образом, хвост пожирателя, змея, авианосец и другие перечисленные натюрморты, не пожирая единичный глайдер, могут пожирать их парами. Причем оба глайдера движутся по одной дорожке, а интервал между глайдерами (то есть период глайдерного потока) может быть любым допустимым. Это означает, что в некоторых глайдерных ружьях, где требуется подавление лишних потоков, они могут заменить пожирателя-1. А учитывая меньшие габариты змеи и авианосца, такая замена может быть очень эффективной, ведь они могут втиснуться туда, где для крючка чуть-чуть не хватает места. А иногда за счет этого можно уменьшить общие габариты конструкции.

Но есть у парного пожирания и еще одно полезное свойство. Так взглянув на его состояние, мы по наличию лодки в любой момент можем сказать, четное или нечетное количество глайдеров он поглотил. То есть он выполняет функцию бита двоичного счетчика. Его так и называют "бот-бит" или лодочный бит.

Конечно, чтобы создать полноценный счетчик на базе бот-бита, надо уметь считывать его состояние не только из нашего внешнего, трехмерного мира, но и внутри двумерной Вселенной Жизни. Механизм, позволяющий это делать, был найден. Правда, состояние бот-бита считывается в момент переключения, то есть фактически считывается направление перехода — либо от 0 (пустоты) к 1 (лодке), либо наоборот. Это делается с помощью перпендикулярного потока глайдеров.

x = 25, y = 24, rule = B3/S23
6bo$7bo$5b3o8$16bo$14bobo$10boo3boo$11boo$10bo10boboo$21boobo6$bo$boo$
obo!

Глайдер, движущийся сверху-слева (то есть с северо-запада), устанавливает бот-бит в 1. При этом считывающий глайдер, движущийся снизу-слева (с юго-запада), беспрепятственно проходит мимо. Второй северо-западный глайдер сбрасывает бот-бит в 0. При этом считывающий юго-западный глайдер поглощается. В таком виде можно использовать второй поток для организации второго разряда двоичного счетчика, и так далее.

Посмотрите, как строится многоразрядный двоичный счетчик — в данном устройстве он измеряет начальную удаленность блока, расположенного справа внизу. С каждым шагом блок приближается к точке уничтожения на 3 клетки по диагонали. Результат (в шагах) записывается в счетчик, состоящий из пяти бот-битов, который расположен по диагонали в левой части паттерна. Устройство построил в 1990 году Kaoru "Mad Player" Maeda.

x = 278, y = 256, rule = S23/B3
140boo$140boo6$140b3o$$140bobo35bo$139b5o31b4o4bo15boo$138boo3boo21bo
7b4o5bo14bo$86bo51boo3boo20bobo6bobbo9boo8bo12boo$86b4o63boo9bo3boo4b
4o9boo8bo7bo4boo$76boo9b4o7bo54boo9bo3boo5b4o18bo8boo5boo6boo$76boo9bo
bbo6bobo40boo22bo3boo8bo19bo4boobbo5b3o5boo$81bo5b4o4boo3bo9boo27boob
oo21bobo31boob5o6boo$81bo4b4o5boo3bo9boo28bobbo22bo38bo4boo$86bo8boo3b
o39bo34bobo7boo23boo$97bobo43bo32boo7boo$98bo42boo33bo20bo$87bobo106bo
$87boo107b3o51boo$88bo47boo3boo105bobbo$137b5o5bo$138b3o7boo26boo5bo
63bo$139bo7boo26bobo6boo$175bo7boo63boo$174boo74bo$$185bo5bo$30boo153b
o5bo55boo3boo$29bobo122bobo28bo5bo55boo3boo$15bo12b3o4boob3o114boo91b
5o$15b4o8b3o4bobb4o97boo15bo31b3o59bobo$5boo9b4o8b3o4boo101boo$5boo9bo
bbo9bobo112boo76boo25b3o$10bo5b4o10boo112boo76bo$10bo4b4o8bo186bo5bobo
$15bo12bo184b4o3boo$26b3o172boo9boobobo$89bo111boo8b3obobbo$88boo122b
oobobo29bo$88bobo83bo38b4o19bo9bo$135booboboo32bobo37bo7bo13b3o7b3o$
33bobo108b3o4boo21boo45boo16bo12bo$34boo99bo5bo4bo4bo69bobo14boo11b3o$
34bo110bo6b3o95b5o$35b3o98booboo13bo94boo3boo$37bo58boo40bo20bo$95boo
62b3o77bo$97bo64bo76bobo$29bo110bo20boo76boo10b3o$29boo11bo96bobo91bo
17b3o$28bobo12bo94bo3bo22bo67bo11boo$41b3o94b5o22bo67bo11boo$104bo32b
oo3boo20bo86boo$103boo33b5o86b3o4boo13boo$103bobo33b3o94b3o$140bo20boo
3boo65bo3boo$21boo138bo5bo65bo4bo$9bobo10boo10boo197bo3bo11boo$4bo4bo
bbo8bo12bo127bo3bo17bobo$5boo5boo11boo5bobo128b3o19boo$oo8bo3boo8bobo
5boo10bo66boo72bo$oo10boo9bo19bobo64boo$9bobbo10bobbo16boo67bo135boo3b
oo$9bobo11bo220boo3b5o$24bobo16boo12bo81boo102boo4booboo$25boo16bo14bo
80boo104bo3booboo$44bo11b3o104boo25bo59b3o$43boo74bo43boo25bobo$89bo
28boo70boo$86b4o28bobo$78boo5b4o16bo81bo$78boo5bobbo8boo5bobo81boo58b
3o$85b4o14bo3boo3boo73boo59b3o$43bo42b4o3boobobo4bo3boo3boo133bo3bo$
41b4o44bobbo3boo5bo3boo137bo5bo$32boo5b4oboo9boo36bo10bobo19boo119bo3b
o$30bobbo3bo3boob3o8boo36bobbo8bo19boo121b3o$21boo6bo7bo3booboo81bo44b
oo$21boo6bo6bo3b5o127boo$29bo7b3o3bo28bo86bo4bo10boo6boo$30bobbo39bo
12bo70bobo4bo10b3o5boo$32boo37b3o11bo63boo4boo7bo10boo$85b3o46bo14boo
4boo11boobboo$45bo87boo20boo8boobbobboo$46boo85bobo21bobo5b4o24bo$45b
oo112bo7bo24bo$192b3o54boo$249boo$$174bobo$141boo32boo$52bobo85boo33bo
$47b3o3boo36boo49bo$49bo3bo36boo$48bo43bo$$182bo$149bo33boo$83boo14boo
9bo37boo32boo$40boo42bo13b4o7bobo36bobo$39bobo42bobo6bobobbobb3o5boobo
83bo$41bo43boo5bobbobboo9booboo3boo75b3o$91boo9bo6boobo4boo74bo$27boo
21boo37boo3bo8bo5bobo81boo$26bobo21bo40boo10bo6bo$25b3o4boo4bo9bobo41b
obbo60boo29bo$16boo6b3o4bobboobobo8boo10bo6bobo23bobo59boo30bobo$16boo
7b3o4b3obo3bo18bobo6boo87bo29boo$26bobo4boobo3bo18boo7bo$27boo6boo3bo$
37bobo19boo$38bo20bo$60bo103bo15bo9b3o$59boo102boo14bo9bo3bo$103boo58b
obo13b3o6bo5bo$95bo7bobbo82bo3bo$94bo3boo7bo9bobo70b3o$94bo5bo6bo7bo3b
o70b3o$95b5o7bo7bo12boo$62bo40bobbo7bo4bo8boo$62bobo38boo10bo49bo5boo$
45boo18boo4boo9bobo30bo3bo42b4o4boo19boo$43bo3bo17boo4boo10boo21bobo8b
obo41b4o7bo18boo$37boo3bo5bo16boo16bo22boo46boo5bobbo$37boobboobo3bo8b
o4bobo42bo46boo5b4o$42bo5bo9bo3bo99b4o7boo$43bo3bo5bobb3o106bo7bobo$
45boo128bo$99bo75boo$99bobo$100bo$97b3o$65bo31bo$63bobo$64boo$104boo$
104bobo$104bo5$59bo$59boo50b3o$58bobo38boo10bo12bo$100bo11bo8b4o4bo$
100bobo5boo10b4o5bo$80bo20boo5bobo9bobbo9boo$78bobo28b3o8b4o9boo$40bo
25boo11boo29b3o8b4o$38b4o6boobboo12bo42b3o12bo$37boboboo5b4obobbobo5bo
bo41bobo$32boobbobbob3o5boobo3bo3bo3boo10bo31boo$32boo3boboboo4bo12bo
14bobo$38b4o14bo4bo13boo199boo$40bo19bo215boo$56bo3bo14boo$56bobo16bo$
76bo$75boo$122boo$121bo$95bo14boo8bo12boo$93bobo14boo8bo7bo4boo$94boo
24bo8boo5boo6boo$78boo41bo4boobbo5b3o5boo$77b3o42boob5o6boo$65bo8boboo
9boo39bo4boo$65bobo6bobbo4bo5bo44boo$53boo11bobo5boboo5bo$53boo11bobbo
7b3o3bo3bo32bo$66bobo9boo5bo33bo$65bobo51b3o$65bo9bo$76boo$75boo$$110b
oo$108bo9bo$109bobobbobboo$82boo29bo3bobo$82bo$83b3o$85bo3$77b3o45boo$
79bo44boo$78bo11bo35bo$91boo$90boo23boo21boo$116bo21bobbo$116bobo9bo3b
3o7bo$70boo45boo8b5o3bo6bo6boo$69bobo54booboo3bo7bo6boo$59bo11bo10boo
41b3oboo3bo3bobbo$59bobo20bo43boob4o5boo$62boo9boo5bobo44b4o$48boo12b
oo9boo5boo10bo35bo$48boo12boo6boo19bobo$59bobo7b3o19boo$59bo10boo$73b
oo16boo$73boo16bo13bo$92bo13boo$91boo12boo$135bo$133bobo$126boo4bobo
17bo$126boo3bobbo16boo$132bobo15boo4boobboo$133bobo13b3o4boobboo$135bo
4bobo7boo4boo$140boo9boo$141bo10bo4$120bo$121boo11bo$120boo10boo$133b
oo8$138boo$138bobo$138bo5$131boo24boo$132bo12b3obbo5bo3bo$132bobo6bo3b
o9bo5bo$133boo4bobo4bo8bo3boboobboo$137boo16bo5bo3boo$137boo17bo3bo$
137boo18boo$139bobo$108bo32bo$107bobo$107boo$$107boo$107bo$108bo$107b
oo!

Но оказывается можно использовать этот механизм и просто для неразрушающего считывания состояния бот-бита. Для этого надо запустить с северо-запада 2 глайдера, а с юго-запада один, согласованный с первым. Ясно, что состояние бот-бита при этом не изменится, а юго-западный глайдер либо пройдет, либо нет в зависимости от того, ноль был записан или единица.

Другой механизм считывания состояния бот-бита с помощью среднего космического корабля описан в Словаре Стивена Сильвера, но, к сожалению, мне не удалось найти диаграммы, которая могла бы его проиллюстрировать.

Твит и блок

Следующий замечательный пожиратель представляет собой комбинацию из двух натюрмортов — бадьи с хвостом (по-английски tub with tail или TWIT) и блока. Вот наиболее часто применяемая реакция, в которой этот пожиратель поглощает глайдер.

x = 9, y = 10, rule = S23/B3
5bo$6bo$4b3o$$oo$oo3bo$4bobo$5bobo$7bo$7boo!

Казалось бы, глайдер можно легко поглотить рыболовным крючком или змеей, которые к тому же имеют меньшие размеры. Но у твита с блоком есть существенное преимущество. Если другие пожиратели стоят прямо на траектории глайдера, то этот ловит глайдер, который пытается прошмыгнуть мимо. Таким образом, рядом с пожирателем остается достаточно места для других процессов. Например, чтобы поймать естественный глайдер Гершела, развивающегося из B-гептамино, мы вынуждены отодвинуть пожиратель-1 на значительное расстояние от него, что увеличивает время жизни глайдера, тогда как твит с блоком съедают глайдер немножко раньше. Таким образом, место освобождается быстрее, что позволяет запустить по той же траектории еще один Гершел, добиваясь предельно малых периодов петли (62 и 61, тогда как рыболовный крючок не может обеспечить период меньше 63). Еще на 4 поколения меньший период (т.е. до 57) обеспечивает модификация этого пожирателя, в которой блок заменен на 9-битовый натюрморт. Несмотря на больший общий размер, площадка натюрморта сдвинута по сравнению с блоком на 1 клетку, а значит его можно придвинуть к Гершелу на одну клетку по диагонали.

x = 83, y = 12, rule = B3/S23
boo38boo38boo$oo38boo38boo$boo38boo38boo$bbo39bo39bo3$32boo37boo3bo$oo
30boo3bo33bo3bobo$o35bobo33bo3bobo$b3o33bobo33bo4bo$3bo35bo30b3o5boo$
39boo29bo!

Еще несколько более крупных конструкций, которые работают точно так же, как твит с блоком:

x = 52, y = 13, rule = B3/S23
6bo23bo20bo$4bobo21bobo18bobo$5boo22boo19boo$$oo3bo18boo3bo15boo3bo$o
3bobo17bo3bobo14bo3bobo$bo3boo18bo3boo15bo3boo$bbo23bo20bo$ob5o17bob5o
14bob5o$oo4bo16bobo3bo14bobo4bo$3b3o17bobbo4bo12bobob3o$oobo20boo4boo
13boobo$obo!

При поглощении глайдера образуется двухбитовая диагональная искра, которая спрособна отразить набегающий на нее другой глайдер (ранее упоминалась другая отражательная искра — трехбитовая). Это позволяет использовать твит плюс блок как отражатель. В зависимости от дорожки отражаемого глайдера, направление отражения меняется.

x = 41, y = 15, rule = B3/S23
27bo$bbo25bo$obo23b3o$boo3$15bo24bo$13b3o22b3o$12bo24bo$11bobo22bobo$
12bo24bo$4b3o22b3o$6bo24bo$5bo4boo18bo4boo$10boo23boo!

Но самое интересное, что перпендикулярный глайдер также может быть поглощен этим отражателем, и при этом тоже образуется диагональная двухбитовая искра, способная отразить скользящий глайдер. То есть твит плюс блок может работать в качестве логического элемента "И", причем двумя способами.

x = 56, y = 51, rule = B3/S23
5bo39bo$6bo39bo$4b3o8bo19bo8b3o8bo$13b3o17b3o17b3o$12bo19bo19bo$11bobo
17bobo17bobo$12bo19bo19bo3$10boo18boo18boo$boo7boo9boo7boo18boo$obo17b
obo$bbo19bo25$bbo39bo$obo37bobo$boo38boo3$15bo19bo19bo$13b3o17b3o17b3o
$12bo19bo19bo$11bobo17bobo17bobo$12bo19bo19bo$4b3o17b3o$6bo19bo$5bo4b
oo13bo4boo18boo$10boo18boo18boo!

Вы видите, что если на пожиратель падает два глайдера, служащих входными сигналами, то он выдает выходной сигнал в виде отраженного глайдера. Если же один из входных сигналов отсутствует, то другой просто поглощается, и выходного сигнала нет.

Пожиратель-2

Этот пожиратель представляет собой блок, усиленный двумя "каменными хвостами". В результате он слишком стиснут, чтобы работать как пожиратель-блок, но становится устойчивым к воздействиям, которые обычный блок разрушают. Здесь разрушение блока тоже начинается, но его осколки наталкиваются на скалы-хвосты, и блок снова восстанавливается. Вот например, реакции поглощения глайдера пожирателем-2 (обычный блок вообще не может справиться с глайдером). Заметьте, что обреченный на пожирание глайдер может приближаться по одной из четырех смежных дорожек.

x = 21, y = 23, rule = B3/S23
bo$bbo$3o$$4bo$5bo$3b3o$$7bo$8bo$6b3o$$10bo$11bo$9b3o$$14boobo$14boob
3o$20bo$14boob3o$15bobo$15bobo$16bo!

В первых конструкциях петель Гершела периодов 62 и 61 для поглощения естественных глайдеров использовались именно пожиратели-2 (напомню, что рыболовный крючок уже невозможно использовать на этих периодах). Однако не поглощение глайдеров является главным достоинством этого пожирателя. Он поедает блок!

x = 10, y = 9, rule = B3/S23
5bo$4bobo$4bobo$3boob3o$9bo$3boob3o$3boobo$oo$oo!

Блок является простейшим натюрмортом и образуется в случайных реакциях очень часто. Поэтому умение убирать с поля лишние блоки очень важно. Вот еще несколько реакций, в которых пожиратель-2 показывает свои способности. В первом ряду он поглощает r-пентамино (1-е поколение), предкаравай и предулей, а во втором — рыболовный крючок, упор и натюрморт, состоящий из двух упоров.

x = 51, y = 29, rule = B3/S23
7bo19bo17bo$6bobo17bobo15bobo$6bobo17bobo15bobo$5boob3o14boob3o12boob
3o$11bo19bo17bo$5boob3o14boob3o12boob3o$5boobo16boobo14boobo$bboo19bo
17bo$3bo18boo16boo$b3o17boo17bo6$7bo19bo18bo$6bobo17bobo16bobo$6bobo
17bobo16bobo$5boob3o14boob3o13boob3o$11bo19bo18bo$5boob3o14boob3o13boo
b3o$5boobo16boobo15boobo$bboo18boo17boo$3bo16bobbo15bobbo$3o17b3o16b3o
$o$37b3o$37bobbo$39boo!

Как видите, если блок любит вещи, приближающиеся к нему одной живой точкой, рыболовный крючок предпочитает линии из трех точек, то пожиратель-2 работает преимущественно с короткими линиями из двух точек.

Существует несколько разновидностей пожирателя-2. Первые два из приведенных на диаграмме ниже поджаты в одном направлении, что позволяет использовать их в стесненных условиях или для уменьшения общих габаритов конструкции. Третий пожиратель двусторонний.

x = 45, y = 16, rule = B3/S23
32bo$33bo$31b3o$4boo$5bo14boo18boo$oobo12boobobo13boobobbo$ooboo11boob
o15booboo$20bo$ooboo11booboo14booboo$bobo13bobo16boboo$bobo13bobo14bo$
bbo15bo15boo$$42b3o$42bo$43bo!

Посмотрите, как работают пожиратели-2 в осцилляторах периода 6 и 13.

x = 101, y = 17, rule = B3/S23
4bo11bo26bo10bo25bo15bo$3bobo9bobo24bobo8bobo23bobo13bobo$3bobo9bobo
24bobo8bobo23bobo13bobo$b3oboo7boob3o20b3oboo6boob3o19b3oboo11boob3o$o
19bo18bo4bo13bo17bo23bo$b3oboo7boob3o20b3obbo6boob3o19b3oboo11boob3o$
3boboo7boobo24bobbo6boobo23boboo11boobo$50bo35bo3bo$7boo3boo33b4o36bob
o$6bobo3bobo32bo38booboo$4b3o7b3o25boboo6bobbo28bobbobobbo$3bo3b7o3bo
22b3oboo6bobb3o25bobobobobobo$3boobbo5bobboo21bo13bo4bo24boobbobobboo$
10bo29b3oboo6boob3o29bobo$9bobo30bobo8bobo32bo$10bo31bobo8bobo$43bo10b
o!

Кувыркающийся бутерброд

Блок также может быть поглощен обычным караваем, причем каравай остается на поле. Но при этом он переворачивается, и повторно его использовать можно лишь после того, как что-то его перевернет обратно.

x = 6, y = 6, rule = B3/S23
oo$oo$3boo$bbobbo$bbobo$3bo!

Конечно, можно разместить сзади каравая другой блок, он отлично приберет оба и вернется в первоначальное положение. Но это уж слишком специфичный случай, и вряд ли такой парный пожиратель нашел бы широкое применение.

x = 8, y = 8, rule = B3/S23
oo$oo$3boo$bbobbo$bbobo$3bo$6boo$6boo!

Есть несколько способов перевернуть каравай, основной из них тот, которым действует блок, приближаясь к караваю уголком. Можно также симметрично воздействовать парой V-образных искр. Вот 2 осциллятора. В первом из них (являющемся одним из вариантов двойного челнока пчелиной матки) обе летящие пчелы по очереди толкают каравай углом, переворачивая его, но и теряя при этом способность отложить улей. Во втором осцилляторе, называющемся хлеб-флоп (англ. loaflipflop), пентадекатлоны переворачивают каравай своими искрами.

x = 38, y = 65, rule = S23/B3
13bo$12bobo$11bo3boo$oo9bo3boo$oo9bo3boo$12bobo3boo$13bo3bobbo$17bobo
9bo$18bo9bobo$27bo3boo3boo$27bo3boo3boo$27bo3boo$28bobo$29bo16$18bo$
17bobo3$17b3o$17b3o$18bo3$18bo$17b3o$17b3o3$17bobo$18bo$bbobboo4boobbo
$bo3b3obb3o3bobboo$bbobboo4boobbobbobbo4boo6boo$18bobo4bobbo4bobbo$19b
o5bobbo4bobbo$25bobbo4bobbo$26boo6boo$$20b3o$19bo3bo$19bo3bo$20b3o5$
20b3o$19bo3bo$19bo3bo$20b3o!

Дейв Бакинэм нашел натюрморт, способный перевернуть каравай и после этого восстановиться. Вместе с этим переворачивающим натюрмортом каравай называется пожиратель-3. Получается так, что пожираемый паттерн наталкивается на каравай и пытается перевернуть его маслом вверх. Но почти перевернувшийся каравай наталкивается на острие переворачивающего натюрморта, который и поставлен для того, чтобы следить за исполнением закона бутерброда. В результате каравай снова переворачивается маслом вниз.

На следующей диаграмме показан пожиратель-3, поглощающий блок, лодку, змею, рыболовный крючок, глайдер, два варианта предулья, два варианта предкаравая, предпасеку и черное Пи.

x = 127, y = 39, rule = S23/B3
44boo18bo$21bo22bo19b3o23bo$oo18bobo22bo21bo20bobo$oo19boo21boo20boo
21boo$3boo19boo21boo20boo21boo$bbobbobboo13bobbobboo15bobbobboo14bobbo
bboo15bobbobboo$bbobo4bobbo10bobo4bobbo12bobo4bobbo11bobo4bobbo12bobo
4bobbo$3bo5bobobo10bo5bobobo12bo5bobobo11bo5bobobo12bo5bobobo$6boobobb
o14boobobbo16boobobbo15boobobbo16boobobbo$6bobbo17bobbo19bobbo18bobbo
19bobbo$3bo4bo15bo4bo17bo4bo16bo4bo17bo4bo$3b5o16b5o18b5o17b5o18b5o$$
5bo20bo22bo21bo22bo$4bobo18bobo20bobo19bobo20bobo$5bo20bo22bo21bo22bo
8$89boo$bo19boo22bo19boo21bo23bobo$bo19boo22bo19b3o20bobo21b3o$oo19boo
20b3o19b3o21boo21b3o$3boo19boo21boo20boo21boo22boo$bbobbobboo13bobbobb
oo15bobbobboo14bobbobboo15bobbobboo16bobbobboo$bbobo4bobbo10bobo4bobbo
12bobo4bobbo11bobo4bobbo12bobo4bobbo13bobo4bobbo$3bo5bobobo10bo5bobobo
12bo5bobobo11bo5bobobo12bo5bobobo13bo5bobobo$6boobobbo14boobobbo16boob
obbo15boobobbo16boobobbo17boobobbo$6bobbo17bobbo19bobbo18bobbo19bobbo
20bobbo$3bo4bo15bo4bo17bo4bo16bo4bo17bo4bo18bo4bo$3b5o16b5o18b5o17b5o
18b5o19b5o$$5bo20bo22bo21bo22bo23bo$4bobo18bobo20bobo19bobo20bobo21bob
o$5bo20bo22bo21bo22bo23bo!

Можно установить два переворачивающих натюрморта так, чтобы они по очереди переворачивали один и тот же каравай. Получается осциллятор периода 8. На рисунке вы также видите вариант пожирателя-3, оснащенный несимметричным переворачивающим натюрмортом. Его ограничивающий прямоугольник имеет ширину на 1 клетку меньше, что может быть полезным с точки зрения уменьшения габаритов конструкции.

x = 69, y = 20, rule = B3/S23
8bo22boo$7bobo22bo23boo$8bo21bo26bo$30b5o20bo$6b5o23bo20b5o$5bo4bo19b
oo27bo$4bobbo18boobobo23boo6boo$bobboboo17bobobo3boo16boobobo6bobo$obo
bo4boo14boboboobobbobboo10bobobo3boo5bo$bobbo3bobbobboo8boobo4bobo4bo
bbo7boboboobobo4booboo$4boobbobo4bobbo8bo5bo5bobobo5boobo4b3o5bobo$9bo
5bobobo7bobo6boobobbo9bo9boobobo$12boobobbo9boo6boobo12bobo6boboboo$
12boobo17bo4bo14boo6boo$9bo4bo18b5o20bo$9b5o44b5o$35bo26bo$11bo22bobo
23bo$10bobo22bo24boo$11bo!

Вот пара осцилляторов, в которых пожиратель-3 используется по своему прямому назначению. В первом осцилляторе источник искр (галактика или восьмерка) возбуждает лодку. Лодка тут же начинает преображаться, превращаясь в булочку и желая развиваться дальше вплоть до пасеки. Но пожиратель-3 откусывает от булочки изрядный кусок, и она опять становится лодкой, только повернутой на 90 градусов и подставляющей свой другой бок для искры другого источника искр. На это уходит 8 поколений. За следующие 8 ходов все повторяется, и лодка становится в первоначальную позицию. Второй осциллятор имеет период 52. Здесь r-пентамино мечется между двумя пожирателями-3 и двумя бадьями, которым на помощь выделены Т-носые p4 (это уже источники искр, которые работают аналогично пожирателям, но в данном выпуске не рассматриваются).

x = 80, y = 36, rule = B3/S23
8bo11bo50bo$7bobo9bobo48bobo$8bo11bo50bo$$6b5o7b5o46b5o$5bo4bo7bo4bo
45bo4bo$4bobbo13bobbo25boo20bobbo$bobboboo13boobobbo22bobo11bo7boobobb
o$obobo5bo7bo5bobobo23b3o8bobo3bo5bobobo$bobbo4bobo5bobo4bobbo23bo3bob
oo5bo3bobo4bobbo$4boobbobbo5bobbobboo26boobo5bo7bobbobboo$9boo7boo34bo
5bo8boo$13boo36boobo5bo$13bobo35bo3boboo$8bobbobbo37b3o$7bo42bobo11b3o
$5boo10b3o30boo12bobo$bbo6boobo4b3o46bo$5bo3bobbo4b3o$5b3obo3bo6b3o53b
oo$bbo11bo5b3o52bobo$3bo3bob3o8b3o50b3o$4bobbo3bo60bo3bo$4boboo6bo53bo
bbobb3o$10boo45boo9boobo$9bo42boobbobbo8bobbobb3o$5bobbo40bobbo4bobo3b
o8bo3bo$48bobobo5bo3bobo8b3o$49bobboboo7bo11bobo$52bobbo20boo$53bo4bo$
54b5o$$56bo$55bobo$56bo!

Другие пожиратели

Пожиратель-4 довольно велик, но очень оригинален по своему действию. На следующей диаграмме справа показан пожиратель-4, у которого удалены 4 центральные ячейки. Обычно такая травма бывает гибельной для паттерна, но в данном случае достаточно 7 поколений, и утраченные ячейки регенерируют. Правый образец становится точно таким же, как и левый.

x = 45, y = 14, rule = B3/S23
3boo29boo$3bo30bo$oobo27boobo$obboo26bobboo$boo4bo24boo$3b5o26b4o$3bo
4boo24bo$4boobbo26boobbo$6bobo28bobo$6bobobobbo23bobobobbo$7boob4o24b
oob4o$9bo30bo$9bobo28bobo$10boo29boo!

Такого рода повреждение не могут причинить глайдеры или многие другие рассматривавшиеся нами паттерны, поэтому пожиратель-4 не поглощает глайдеры. Но в некоторых случаях он просто незаменим. Вот 4 осциллятора периодов 9, 11, 28, 29, в которых активный двигатель успешно укрощается этими пожирателями.

x = 142, y = 27, rule = B3/S23
10boo31boo38boo42boo$9bobo30bobo37bobo41bobo$9bo32bo39bo43bo$7boob4o
26boob4o33boob4o37boob4o$6bobobobbo25bo3bobbo32bobobobbo36bobobobbo$6b
obobo28bobobo35bobo7boo32bobo7boo$4boobboo27boob3o34boobbo7boo5boo23b
oobbo7boo5boo$3bo4bo27bobbo36bo4boo13bo23bo4boo13bo$3b5o28boboo11boo
23b5o13bobo23b5o13bobo$boo3bo4bo22boo3bo11bo22boo4bo13boo22boo4bo13boo
$obb3o3booboo19bobb3o10bobo21bobboo5b3o3b3o25bobboo5b3o3b3o$oobo5boob
oo3boo14boobo6b3o3boo22boobo6bobo3bobo25boobo6bobo3bobo$3bo14bo17bo5bo
3bo8bo20bo6b3o3b3o5boo21bo6b3o3b3o$3boo3booboo5boboo11b3o5bo5bo5b3o20b
oo20bo21boo$8booboo3b3obbo11bo8bo3bo5bo45boboo$10bo4bo3boo17boo3b3o6bo
boo41boobbo$14b5o18bobo10b3obbo23boo13bo4boo$13bo4bo18bo11bo3boo23bobo
13b5o$12boobboo18boo11boobo25bo13boo4bo$11bobobo33bobbo24boo5boo7bobb
oo29bo7bo$8bobbobobo30b3oboo32boo7bobo30bobo5bobo$8b4oboo30bobobo38bo
bbobobo31bo7bo$12bo29bobbo3bo38b4oboo$10bobo29b4oboo43bo$10boo34bo43bo
bo$44bobo43boo$44boo!

Следующая пара пожирателей замечательна тем, что падающий на них глайдер приводит к испусканию искры, причем искра расположена довольно далеко от места поглощения глайдера. Эта искра может использоваться, например, для разрушения другого пролетающего мимо глайдера (или для возбуждения другого паттерна).

x = 35, y = 19, rule = B3/S23
29boo$6bo17bo4bobo$7bo17bo5bo$5b3obbooboo8b3o5boboo$11boboo13boobobo$
11bo17bobobo$9bobo17bobbo$bo7boo16bobo$bbo24boo$3o$9boo$9boo16boo$27b
oo4$25b3o$25bo$26bo!

Таким образом, эти пожиратели реализуют логический элемент B&~A (B и не A, где A — падающий основной глайдер, а B — пролетающий глайдер). Впрочем, такой элемент легко реализуется более простыми средствами, например:

x = 10, y = 11, rule = B3/S23
7bo$bo4bo$bbo3b3o$3o4$6boo$6bobo$8bo$8boo!

Вот еще несколько паттернов, способных поглощать глайдеры.

x = 79, y = 36, rule = B3/S23
bo24bo31bo$bbo24bo30bobo$3o22b3o30boo$8boo24boo$5boobbo21boobbo14boo$
5boobo19boobbobo15bobbo$8boboboo14boobobboo16boobbo$5booboboobo17bobo
19bobobo$5bobbo22bobo19bobboo$7boo23bo19boo9$46bo$bo18bo26bo6boo$bbo
17b3o22b3obboobobbo15boo$3o3boo15bo4boo21boboboo10bo4bobo$7bo14boo3bo
bbo20bobo14bo5bobbo$7boboo16bobobo20boo12b3o5bobobo$4booboobo9bo5boobo
bbo11boo25boobobbo$5bo15bo3bo4boo12bobboboo21bobo$3bobo13b3o3boboobo
15boobo22boboo$3boo19boobobbo16bobo5boobo8bobbobo$28boo17bob3o3boboo8b
4obbob3o$48bo3bo18bobobobbo$49b4o14boobboo4boo$47bobo17boo$45b3oboboo$
44bo4bobo$45b3obobobo$47boo3boo!

А это пожиратели космических кораблей. Последний из них "жабы-убийцы" немного выходит за рамки рассматриваемой темы, так как является осциллятором, а не натюрмортом.

x = 52, y = 32, rule = B3/S23
14boo32bo$14boo31bobo$34b5o9bo$33bo4bo$3b4o8boo21bo$bbo3bo8boo16bo3bo$
6bo28bo10boo$bbobbo40bo$47b3o$49bo7$15bo$14bobo$15bo$$13b5o$13bo4bo$
15boobo$16boboboobo25b3o$15bobboboboo24b3o$b6o9b3o15b6o$o5bo12bo13bo5b
o$6bo11bobo18bo$o4bo11bobbo12bo4bo9b3o$bboo12bo3boo13boo12b3o$17b3o$
19bo!

Николай Белюченко


к началу страницы к содержанию