Кецалькоатль, либо его близкий родственник; этот род был известен по верхнемеловым находкам в Альберте и Техасе. Я бросился перезаряжать, но в панике рассыпал коробку патронов по полу, причём половина из них скатилась вниз по лестнице. К тому времени, как я снова изготовился к стрельбе, дракон заполнил всё поле моего зрения. Пули проделывали дыры в его бирюзовых крыльях, но птерозавр продолжал оставаться на месте, скребя когтями по гладкому металлу «Стернбергера» в поисках опоры.
Голова с тонким длинным клювом проскользнула на трёхметровой змеиной шее сквозь обсервационную щель внутрь купола и ткнулась в меня. Я сжался у противоположной стены купола. Держа ружьё двумя руками, одной — за болезненно горячие стволы, я пытался отогнать тварюку. Не тут-то было. Двигаясь с молниеносной скоростью, она схватила ружьё клювом и резким поворотом шеи вывернула его у меня из рук. Прежде чем я осознал, что произошло, крылатая тварь уже снова была в воздухе, унося в клюве моё ружьё. Поднятый гигантскими крыльями ветер растрепал мне волосы.
Оставаться в куполе больше не было смысла. Я закрыл щель и спустился вниз. Кликс тащил вниз по пандусу продуктовый холодильник, видимо, чтобы укрепить им баррикаду.
Моё сердце подпрыгнуло.
— О чёрт…
— В чём дело? — спросил Кликс, поглядев на меня.
— Твоя нога.
Фосфоресцирующий комок голубого желе колыхался на голени Кликсовых походных штанов. Должно быть, он вылез из троодона, которого я убил раньше, того, что валялся под шкафчиками с инструментами, рядом с которыми стоял холодильник. Кликс поспешно расстегнул пояс, выскочил из штанов и запустил ими в стену; комок ударился в стену с чмокающим звуком и прилип. Но хетам хлопчатобумажная ткань не помеха, и небольшое количество слизи осталось у Кликса на ноге. Он был близок к панике. Я схватил из анатомического набора скальпель и его рукояткой соскрёб остатки марсианина с его ноги. После каждого скребка я встряхивал скальпелем, сбрасывая голубую субстанцию в футляр от инструментов. Минутой позже я поднялся.
— Думаю, всё, — сказал я.
— Уверен, что всё? — спросил перепуганный Кликс.
— Ну… практически всё. Будем надеяться, что у тебя в организме осталось достаточно «избавления», чтобы справиться с теми, кто успел проникнуть.
— А с этим что делать, — спросил он, указывая на штаны.
Я взял альпеншток и с его помощью сбросил штаны со стены в стазис-контейнер, потом кинул туда же футляр от анатомического набора и захлопнул серебристую крышку. После этого мы поднялись обратно в жилой модуль.
Внезапно корабль дёрнулся, и корпус прорвала пара белых трицератопсовых рогов. Хеты, должно быть, узнали во время краткого пребывания у нас в головах, что «Стернбергер», словно йо-йо, мыл связан математической струной с генератором Чжуан-эффекта, находящимся на 65 миллионов лет в будущем. Даже частично разрушенный, корабль времени послушно вернётся к точке старта в воздухе между летающим краном и землёй. Он не должен сохранять герметичность, но они в этот момент должны быть внутри его стен.
Корабль тряхнуло ещё раз, и на корпусе образовалась вмятина в том месте, где в него ударил рог второго трицератопса. Секунду спустя — ещё один удар, и ещё одна пара рогов пробила корпус, в этот раз меньше чем в полуметре от моей головы.
Рёв паразауролофа снова разорвал воздух. За окном гигантские тираннозавры, которые выглядели как сгустки крови размером с вагон, зарычали в ответ.
— Нам надо что-то сделать, — сказал я.
— Отличная мысль, гений, — сказал Кликс. — Что мы можем сделать?
— Я не знаю. Но мы не можем позволить им проникнуть в будущее. Они же захватят всю планету! — Корабль шатнуло снова — ещё один трицератопс ударил в него. — Да чтоб тебя!.. — Я ударил кулаком в стену. — Если бы у нас было какое-то оружие, или… черт, я не знаю, что-нибудь, чтобы отключить эти их гравиподавители.
— Двоичный кодовый сигнал, — тут же отозвался Кликс. — 1010011010, повторить три раза.
— Что? Ты уверен?
Кликс постучал себя пальцем по виску.
— Марсианин, может, и мёртв, но память его живёт.
Двумя прыжками я подскочил к нашей радиостанции и нажал кнопку включения питания на чёрной с серебром консоли.
— Как по-твоему, мы сможем послать сигнал на спутники?
Кликс, прищурившись, осмотрел консоль.
— Спутники, очевидно, до сих пор в хорошей рабочей форме, — сказал он. — И хеты пользуются радио так же, как и мы.
— А что с теми спутниками, которые под горизонтом?
— Сигнал отключения будет ретранслирован спутниками, которые его получат, — сказал Кликс. — Нам достаточно связаться с одним. Это имеет смысл, иначе ими бы было невозможно управлять из одной наземной станции.
— Нам не понадобится пароль для получения доступа к спутникам? — спросил я, изучая консоль и пытаясь вспомнить, что делает каждая клавиша.
— Ты же сам говорил, Брэнди. Хеты — ульевый разум. Концепция «пароля» лишена для них смысла.
Я потянулся к большой откалиброванной шкале.
— На какой частоте должен передаваться сигнал отключения?
Кликс закрыл глаза и немного склонил голову набок, внимательно прислушиваясь.
— Так-так… три в тринадцатой степени циклов в…
— Циклов в секунду?
— Нет. Чёрт! Циклов в марсианскую единицу времени.
— И какова длительность этой единицы?
— Это… в общем, не слишком долго.
— Великолепно. — «Стернбергер» содрогнулся от очередного удара. Похоже, трицератопсы дырявили рогами корпус только на одной стороне корабля. И делали это чертовски эффективно.
— Может, ты бы мог запрограммировать перебор частот? — спросил Кликс.
Я посмотрел на консоль.
— Не напрямую. Но я могу подключить к радиостанции палмтоп. Только надо найти подходящий кабель.
Кликс взял в руки электронную камеру.
— Вот этот подойдёт? — спросил он, отцепляя от неё USB-кабель, которым я подключал её к палмтопу.
— Ну, это нужный тип кабеля, но неправильной полярности. Для радиостанции нужен кабель типа «мама», а у этого «папа» на обоих концах.
— По-моему я где-то видел адаптер, когда подключал спектроскопы, — сказал Кликс. Он отошёл к мини-лаборатории и начал её обшаривать. — Вот он. — Кликс отдал мне найденное приспособление, и мы подключили палмтоп к радиостанции. — Теперь ты сможешь послать сигнал?
— Да, но только на одной частоте за раз, и на то, чтобы послать даже коротенький сигнал на всех возможных частотах, может уйти весь день. — Я обескураженно покачал головой. А ведь это казалось такой хорошей идеей. — Кроме того, мы ведь даже не знаем, какой длительности должны быть бинарные сигналы.
— Одна единица измерения времени. — Кликс помолчал, обдумывая то, что только что сказал. — Из чего следует, что как только мы подберём правильную частоту, то сразу же получим и правильную длительность импульсов. — Он снова замолчал, прислушиваясь к внутреннему голосу. — И не беспокойся о модуляции несущей частоты. Просто прерывай передачу там, где нули.
— Хорошо. — Ах, если бы только нос перестал болеть. — Я напишу программку, которая перепробует разные значения длительности их единицы времени. — Кабель был короткий, и до моей кушетки его не хватало, так что мне пришлось программировать стоя, положив палмтоп на отделанный пластиком край радиоконсоли. — С какого значения, по-твоему, лучше начать?
Кликс прикрыл глаза.
— Попробуй… попробуй четыре или пять секунд. Я не знаю, но чувствую, что это близко.
Радиостанция понимала только команды CURB, стандартного командного языка телекоммуникационных процессоров. Я не писал на нём ничего уже чёрт знает сколько лет. Я надеялся, что того, что я помню, мне хватит; у нас определённо нет времени рыться в хелпах. Мои пальцы заплясали над палмтопом. Я запустил калькулятор, посчитал, сколько будет три в тринадцатой степени — как сказал Кликс, количество циклов в марсианскую единицу измерения времени. Потом напечатал: Set Frequency = 1594323. Frequency = Frequency + …
Очередной трицератопс врезался в корпус, и в этот раз он треснул. Я услышал шум вытекающей из водяного бака воды у нас под ногами. Держу пари, они такого не ожидали.
Я решил начать с немного меньшего значения, чем догадка Кликса. Set Time‑unit = 3.000 s. Goto Send…
Корабль снова содрогнулся под ударом трицератопса.
— Брэнди, ты не мог бы поторопиться?
— Хочешь попробовать сам?
— Прости, — он отступил.
Рога уже проткнули корпус во многих местах и существенного его ослабили. Через бронестекло я видел, как трицератопс вразвалку удаляется от корабля.
Я напечатал последнюю строчку программы и запустил компиляцию. Одно, два, три сообщения об ошибке вспыхнули на экране, указав номер ошибочной строки. «Ожидается логическое выражение». «Несовпадение типа». «Зарезервированное слово». Чёрт!
— В чём дело? — спросил Кликс.
— Ошибки компиляции. Где-то напортачил.
— Ты хотел…
— Заткнись и дай мне их исправить. Пожалуйста. — Я переключился в режим редактирования и перешёл к первой ошибке. Ага, первая проблемка совсем простая — опечатка, «adn» вместо «and»; вот что значит отключать автокоррекцию. Я исправил ошибку.
Хр-р-р-рясь!
Меня качнуло. Пахицефалозавр ударил головой в многократно пробитый рогами участок корпуса. Теперь стало ясно, что делал хет в том головаче, которого мы препарировали — оценивал перспективы использования его в качестве тарана. Повезло им, применение тарану нашлось почти сразу.
— Он почти пробил, — крикнул Кликс.
Я щелкнул клавишей, и курсор перескочил к следующей ошибке. «Несовпадение типа». Что бы это значило в данном контексте? А, вижу. Я пытался выполнить математическую операцию над текстовой переменной. Вот дебил.
Полифонический сигнал от паразауролофа-тромбониста разорвал воздух, предположительно давая команду головачу нанести второй удар.
Курсор прыгнул с третьей ошибке. «Зарезервированное слово»? Это означало, что выбранное мной название переменной — FREQUENCY