Инструкторы в телевизоре закончили показывать основные па. Мучительно видеть, как они выполняют обязательную программу: они должны сознательно забыть все, что знают о профессиональных фигурах, и танцевать, как после инсульта или тяжелой черепно-мозговой травмы, при которой утрачены не только мелкая моторика, но и все панели в модуле эстетического распознавания. Другими словами, они должны танцевать, как Рэнди Уотерхауз.
Золотистые подушечки «Капитанских кранчей» сыплются в тарелку со звоном, будто переламываются пополам тонкие стеклянные палочки. Крошечные осколки разлетаются по белой фарфоровой поверхности. Есть готовые завтраки — танец, требующий компромиссов. Большая миска размокших в молоке хлопьев — признак новичка. В идеале абсолютно сухие подушечки и криогенное молоко должны находиться в контакте как можно меньше, а реакция между ними — происходить только во рту. Рэнди составил мысленные чертежи специальной ложки, у которой вдоль ручки проходила бы трубка с маленьким насосом для молока: набираешь сухих подушечек, жмешь большим пальцем на кнопку, и молоко поступает в ложку, как раз когда ты заносишь ее в рот. Другой хороший, хоть и не идеальный способ — класть в тарелку совсем немного хрустиков и съедать их быстро, пока они расползлись в склизкое месиво, на что, в случае «Капитанских кранчей», уходит примерно тридцать секунд.
На этом месте кассеты Рэнди всегда гадает, не поставил ли пиво на кнопку ускоренной перемотки или что-нибудь вроде того, потому что танцоры переходят от пародии на Рэнди прямиком к профессиональному исполнению. Конечно, они выполняют номинально те же движения, что и раньше, но убей его бог, если он может узнать их в творческом варианте. Нет никакого внятного перехода. Это всегда бесило и бесит его в обучении бальным танцам. Любой дебил способен разучить основные движения. На это требуется примерно полчаса. Инструкторы ждут, что по истечении этих тридцати минут с тобой произойдет чудесное превращение, какое случается только в бродвейских мюзиклах, и ты начнешь порхать, как на крыльях. Наверное, примерно так чувствуют себя люди, которым не дается математика: учитель пишет на доске несколько простых уравнений и через десять минут выводит из них скорость света в вакууме.
Рэнди одной рукой наливает молоко, а другой сжимает ложку, чтобы не пропустить ни одно золотое мгновение, когда молоко и «Капитанские кранчи» уже вместе, но еще сохранили в чистоте свою стихийную сущность: два платоновских идеала, разделенных границей в молекулу толщиной. Там, где струйка молока касается ложки, нержавейка запотевает. Рэнди, разумеется, берет цельное молоко, иначе зачем было бы огород городить. Обезжиренное неотличимо от воды, кроме того, он считает, что жир в цельном молоке как своего рода буфер замедляет процесс размокания. Огромная ложка отправляется в рот раньше, чем молоко успевает ровно растечься по тарелке. Несколько капель попадают на эспаньолку (Рэнди отпустил ее в попытке найти компромисс между бородатостью и ранимостью). Он ставит пакет с молоком, хватает салфетку и, не втирая капельки в бороду, аккуратно снимает их с волосков. Тем временем все его внимание сосредоточено на ротовой полости, которую он, разумеется, не видит, но может вообразить в трех измерениях, как на компьютерной 3-D модели. Здесь новичок утратил бы терпение и принялся жевать. Несколько подушечек раздавились бы между зубами, однако затем челюсти, смыкаясь, прижали бы неразмолотые хрустики к нёбу. Броня из острых как бритва кристаллов декстрозы причинила бы значительный сопутствующий ущерб, превратив остаток трапезы в мучительный марш смерти и вызвав онемение ротовой полости по меньшей мере на три дня.
По счастью, Рэнди выработал совершенно умопомрачительную стратегию поедания «Капитанских кранчей», основанную на взаимонейтрализации их самых опасных свойств. Подушечки формой смутно напоминают пиратские сундучки. С хлопьями эта стратегия не сработала бы. С другой стороны, выпускать «Капитанские кранчи» в виде хлопьев — самоубийственная глупость: они бы таяли в молоке, как снежинки в кипящем масле. Нет, проектировщики готовых завтраков из «Дженерал Миллз» стремились найти форму, которая минимизировала бы площадь поверхности. В качестве компромисса между сферой, которую диктует Евклидова геометрия, и формой пиратского сундучка, за которую, вероятно, ратовал отдел эстетики готовых завтраков, они пришли к поперечно-полосатым подушечкам. Для целей Рэнди важно, что отдельные составляющие «Капитанских кранчей», в очень грубом приближении, имеют форму коренных зубов. Стратегия заключается в том, чтобы «Капитанские кранчи» сами себя жевали, размалывая подушечки друг о друга внутри ротовой полости, словно камни в галтовочном барабане. Здесь, как в профессиональных бальных танцах, словесное описание (или видеокассета) может дать лишь общее представление — дальше тело должно учиться само.
К тому времени как съедено удовлетворительное количество «Капитанских кранчей» (примерно треть семисотпятидесятиграммовой коробки), а пиво допито, Рэнди приходит к выводу, что вся история с танцами — просто розыгрыш. Ами и Дуг Шафто встретят его в вестибюле ехидными улыбками и поведут убалтывать в бар.
Рэнди надевает пиджак и галстук. Годятся любые предлоги, чтобы оттянуть время, поэтому он проверяет почту.
Кому: [email protected]
Тема: Трансформация «Понтифик», как обещано Рэнди.
Разумеется, Вы правы — как немцы убедились на горьком опыте, ни одной криптосистеме нельзя доверять, пока она не обнародована, чтобы люди вроде Ваших друзей попытались ее взломать. Буду очень признателен, если Вы сделаете это с «Понтификом».
В «Понтифик» заложены некоторые асимметрии и особые операторы выбора, которые трудно выразить в нескольких элегантных математических строчках. Он почти просится, чтобы его записали псевдокодом. Но зачем сочинять псевдо, если можно написать настоящий? Ниже прилагается программа «Понтифика» на языке Perl. Переменная $D содержит 54-элементную перестановку. Подпрограмма e генерирует следующий элемент ключевого потока, изменяя этим $D.
#!/usr/bin/perl -s
$f=$d?-1:1; $D=pack('C*',33..86); $p=shift;
$p=~y/a-z/A-Z/; $U='$D=~s/(.*)U$/U$1/;
$D=~s/U(.)/$1U/;'; ($V=$U)=~s/U/V/g;
$p=~s/[A-Z]/$k=ord($&)-64, &e/eg; $k=0;
while(<>){y/a-z/A-Z/; y/A-Z//dc; $o.=$_}$o.='X'
while length ($o)%5&&! $d;
$o=~s/./chr(($f*&e+ord($&)-13)%26+65)/eg;
$o=~s/X*$// if $d; $o=~s/.{5}/$& /g;
print"$o\n";
sub v{$v=ord(substr($D, $_[0]))-32;
$v>53?53:$v}
sub w{$D=~s/(.{$_[0]})(.*)(.)/$2$1$3/}
sub e{eval"$U$V$V"; $D=~s/(.*)([UV].*[UV])(.*)/$3$2$1/;
&w(&v(53)); $k? (&w($k)):($c=&v(&v(0)) , $c>52? &e:$c)}
Еще одно письмо — от адвокатши, которая занимается разделом имущества с Чарлин. Рэнди распечатывает его и кладет в карман, чтобы посмаковать на досуге, когда будет стоять в пробке. Спускается вниз, ловит такси до гостиницы «Манила». Если бы он впервые ехал по Маниле, то, наверное, считал бы, что переживает захватывающее приключение; однако это уже миллионная его поездка, и мозг ничего не регистрирует. Например, он видит два столкнувшихся автомобиля прямо под огромным указателем «НЕТ ПОВОРОТА», но не обращает внимания.
Дорогой Рэнди.
Худшее позади. Чарлин и, главное, ее адвокат, кажется, наконец поняли, что ты не сидишь на Филиппинах на груде сокровищ. Теперь, когда твои воображаемые миллионы больше не замутняют картину, можно сообразить, как разобраться с твоими реальными активами, прежде всего недвижимостью в виде дома. Было бы гораздо хуже, если бы Чарлин решила в нем остаться; по счастью, она собирается работать в Йеле и предпочла бы получить свою долю деньгами. Поэтому вопрос в том, как вы будете делить средства от продажи. Чарлин и ее адвокат, естественно, утверждают, что рост стоимости дома с момента его покупки обусловлен переменами на рынке недвижимости, а четверть миллиона, которые ты вложил в укрепление фундамента, замену труб и проч. — не в счет.
Зная твой характер, полагаю, что ты сохранил все счета, накладные и прочие свидетельства потраченных средств. Если бы я могла помахать ими на следующем раунде переговоров с адвокатом Чарлин, это здорово облегчило бы дело. Как бы мне их получить? Понимаю, что для тебя это определенное неудобство, но, поскольку ты вложил в дом весь свой капитал, игра стоит свеч.