— Возможно ли, что он сам себя меняет? Что эта функция активируется, когда оживает Пандора? Я читал, что в человеческой ДНК есть множество частей, которые обычно неактивны, но могут «включиться» под воздействием определённых условий.
Лиза наморщила лоб.
— Не исключено. Но это не объясняет того, почему код в этом месте совсем ничего не делает после компиляции. Что-то здесь не так. У меня ощущение, что мы не заметили чего-то принципиально важного.
— Мне тоже так кажется, — поддержал Марк.
Было что-то, на что он обратил внимание, но не посчитал важным и тут же забыл. И теперь он при всём желании не мог вспомнить об этом.
Он ходил кругами по маленькой гостиной, блуждал взглядом по мещанской обстановке, смотрел на фотографии в серебряных рамках на комоде. Вот — родители Юлии в день свадьбы на яхте, с маленькой Юлией — на пляже. Юлия в детском возрасте — на соревновании по верховой езде. Была даже совместная фотография Марка и Юлии. Они стояли, держась за руки, на краю Большого каньона. Странное чувство тоски всколыхнулось в его душе при взгляде на эту фотографию. Там была другая жизнь, другой мир.
Вначале они любили друг друга. Он уехал учиться в США на год по обмену, совсем скоро после их первой ночи. Вопреки опасениям они сохранили верность в отношениях. Почти каждый день отправляли друг другу письма, старомодные, на бумаге. Письма Юлии всегда пахли духами, она часто украшала их нарисованными сердечками или зверушками. Они до сих пор — где-то на чердаке…
Он вздрогнул.
— Письмо! — закричал он.
Лиза посмотрела на него, ничего не понимая.
— Что?
— Что-то важное было в письме Райнера Еве Вайзенберг. Я сейчас не вспомню, что именно он написал. Что-то вроде «ты меня знаешь, поэтому ты поймёшь, как его читать». Я ещё удивился, ведь Ева Вайзенберг явно не была программисткой, а потом забыл.
Лиза открыла файл: «Теперь, когда меня уже, скорее всего, нет на свете, и я не могу позаботиться о своём творении, я доверяю тебе эту тайну: прилагаемый файл PANDORA.ТХТ содержит код исходной программы. Ты меня знаешь, поэтому поймёшь, как его читать…»
Лиза кивнула.
— Я тоже тогда не поняла это предложение, но в спешке позабыла о нем. Райнер что-то сделал с исходным кодом и оставил ей подсказку, — она вздохнула. — Он нас всё больше запутывает.
— «Ты меня знаешь», — что он хотел этим сказать?
— Понятия не имею.
— Может быть, код нужно читать в обратном порядке?
Лиза махнула рукой.
— Получится бессмыслица, из которой компилятор ничего не поймёт. Изменение порядка строк тоже ничего не даст. Порядок, в котором перечислены функции, не играет никакой роли, а если его нарушить внутри функции, то она перестанет работать. Гляди, вот у меня структура if-then-else[51], которую я не могу начать с «else».
Марк смутно помнил, что речь идёт о ветвлении команды по принципу если-то-иначе, в котором «else» определяло случай, когда условий для ветвления не было. Лиза была права — простое изменение порядка следования команд ничего не даст.
Он чувствовал себя беспомощным — в программировании разбирался слабо и ничем не мог помочь Лизе, которая, как и он, топталась на месте.
Марк решил проработать проблему логически. Существовало две возможности: код на диске был неверным — тогда они лишались шанса его прочитать, и думать дальше было бессмысленно, или же код был зашифрован неочевидным образом.
— Есть, куда записать?
Лиза непонимающе посмотрела на него. Не дождавшись объяснения, она дала ему дешёвую шариковую ручку с логотипом производителя шин и блокнот, который содержал диаграммы, фрагменты кода и вычисления в десятеричной и шестнадцатеричной системе счисления, нацарапанные Лизиными каракулями. Марк задумался, исписал полстранички, зачеркнул пару слов и написал более подходящие над ними. Спустя некоторое время он удовлетворённо улыбнулся, переписал текст начисто и вручил Лизе, которая с любопытством за ним наблюдала.
Она прочитала вслух: «Наш учитель господин Больке провёл сегодня очень интересный урок истории. Хорошо, что я был там и узнал много нового о римских временах. Самой сплошной темой была тема о том, как Рим исчез, словно взрыв. Никогда история Рима так хорошо не доходила до моего мозга».
Лиза посмотрела на него вопрошающим взглядом.
— И что это?
Марк самодовольно улыбнулся.
— В школе мы с товарищем придумали секретную систему переписки. Мы прятали сообщения в длинных текстах. Расшифровать было очень просто: каждое десятое слово, начиная с четвёртого, входило в сообщение, а все остальные были лишь маскировкой.
Лиза подчеркнула соответствующие слова в тексте и прочитала:
— …Больке… был… сплошной… взрыв… мозга…
Она рассмеялась.
— Так вот, как ты убивал время в школе! Не удивительно, что в итоге ты смог поступить лишь на «эконом»!
Она снова стала серьёзной.
— Возможно, ты прав. Сейчас проверим. Она пару раз щёлкнула мышкой.
— Хмм. Здесь 49607 строк кода. Посмотрим. Нечётное число. На три не делится, на пять тоже, на семь. нет. Ни на одиннадцать. Для других чисел нужен калькулятор, будет быстрее.