
Полная версия:
«El Tren de las Ánimas: Маршрут проклятых»
Он приклеил стикер на край монитора. Прочитал фразы вслух. Трижды. С правильной интонацией. С правильной паузой между словами.
В 14:59 он надел наушники. Проверил микрофон. Открыл блокнот — на случай, если придётся записывать.
В 15:00 ровно раздался короткий сигнал.
Щелчок.
— Buenas tardes, señor Valdés. Es un placer saludarle. — сказал Марк. Чётко. Уверенно. Без запинки.
Тишина.
Две секунды. Три. Четыре.
Марк уже собрался было повторить —
— Buenas tardes, señor Reyes. — ответил голос.
Голос был старый. Очень старый. С той особенной хрипотцой, которая появляется у людей, проживших слишком много лет в горах, где воздух холодный и сырой. Но — ровный. Спокойный. С лёгким, почти аристократическим акцентом — не андалузским, не кастильским, а каким-то иным, северным, горным.
— El placer es mío. — продолжил голос. (В pleasure — мой. Радость на моей стороне.) — Bienvenido al equipo.
(Добро пожаловать в команду.)
— Gracias, señor. — Марк кивнул, хотя Вальдес его не видел. — He comenzado a revisar los datos de los manifiestos y…
Он запнулся.
На фоне голоса — совсем тихо, почти на грани слышимости — был звук.
Не шум. Не помехи. Не эхо.
Гул.
Низкий, ровный, почти инфразвуковой. Как будто где-то очень далеко, за толстыми каменными стенами, работала огромная, древняя машина. Или дышала гора.
Марк покосился на индикатор связи. Всё нормально. Сигнал стабильный.
— …y he notado algunas discrepancias. — продолжил он, стараясь не обращать внимания на гул. — En los manifiestos de los trenes 402 a 406. Las fechas de llegada son anteriores a las fechas de salida.
Тишина.
Две секунды. Три.
— Sí, señor Reyes. — спокойно ответил Вальдес. — Los datos son correctos.
(Да, сеньор Рейес. Данные верны.)
Марк нахмурился.
— Pero… físicamente es imposible. Un tren no puede llegar antes de salir.
(Но… физически это невозможно. Поезд не может прибыть раньше, чем отправиться.)
Снова тишина.
Гул на фоне стал чуть громче. Или это Марку показалось?
— Físicamente, sí. — медленно произнёс Вальдес. (Физически — да.) — Pero en la Cordillera, las reglas son… diferentes.
(Но в Кордильере правила… иные.)
Марк моргнул.
— ¿Diferentes?
— Las montañas tienen sus propias leyes, señor Reyes. — Голос Вальдеса стал тише, почти до шёпота. — El tiempo allí no fluye como en el llano. A veces se detiene. A veces… retrocede.
(У гор свои законы, сеньор Рейес. Время там течёт не так, как на равнине. Иногда оно останавливается. Иногда… идёт назад.)
Марк почувствовал, как по спине пробежала лёгкая, неприятная дрожь.
Это была не шутка. Вальдес не шутил. Он говорил это так, словно констатировал факт. Как констатируют факт о том, что зимой выпадает снег, а летом — дождь.
— Señor Valdés… — Марк откашлялся. — ¿Se refiere a diferencias horarias? A un error en el sistema de registro?
(Сеньор Вальдес… Вы имеете в виду разницу во времени? Ошибку в системе регистрации?)
— Me refiero a que los datos son correctos. — Голос Вальдеса снова стал ровным. Деловым. — No los cambie. No los corrija. Simplemente… integre.
(Я имею в виду, что данные верны. Не меняйте их. Не исправляйте. Просто… интегрируйте.)
— Pero el KPI…
— El KPI será perfecto. — Вальдес произнёс это с странной, почти торжественной интонацией. — Siempre lo es.
(KPI будет идеальным. Он всегда такой.)
Марк открыл рот, чтобы возразить —
И тут он услышал это.
Сквозь гул. Сквозь ровное дыхание Вальдеса. Сквозь статические помехи.
Шёпот.
Не один. Десятки. Сотни. Тихие, сливающиеся друг с другом голоса, говорящие одновременно, но не складывающиеся в слова. Как будто где-то, очень далеко, в тёмном помещении, стояла толпа людей и что-то бормотала — не то молитву, не то жалобу, не то счёт.
Марк замер.
— Señor Valdés… — голос у него предательски дрогнул. — ¿Hay alguien más en la línea?
(Сеньор Вальдес… На линии есть кто-то ещё?)
Тишина.
Гул оборвался. Резко. Так, словно кто-то нажал кнопку.
— No, señor Reyes. — спокойно ответил Вальдес. — Estamos solos.
(Нет, сеньор Рейес. Мы одни.)
Марк посмотрел на индикатор связи. Только два участника. Он и Вальдес. Никого больше.
— Disculpe. — Марк сглотнул. — Me pareció…
— No hay nada que disculpar. — Голос Вальдеса снова стал тёплым. Почти отеческим. — Las montañas juegan con los sonidos, señor Reyes. A veces parece que hay ecos donde no los hay. A veces… parece que hay voces donde no las hay.
(Горы играют со звуками, сеньор Рейес. Иногда кажется, что есть эхо там, где его нет. Иногда… кажется, что есть голоса там, где их нет.)
Марк кивнул. Медленно. Хотя Вальдес его не видел.
— Entiendo.
— Bien. — Пауза. — Tiene un mes, señor Reyes. Un mes para integrar todo. Para crear el tablero unificado. Para que yo pueda ver… todo.
(Хорошо. У вас месяц, сеньор Рейес. Месяц, чтобы интегрировать всё. Чтобы создать единый дашборд. Чтобы я мог видеть… всё.)
— Lo haré.
— Lo sé. — Голос Вальдеса стал тише. Совсем тихим. — Usted es muy bueno en su trabajo, señor Reyes. Muy… preciso.
(Я знаю. Вы очень хороши в своей работе, сеньор Рейес. Очень… точны.)
Марк не знал, что ответить. Это звучало не как комплимент. Это звучало как… оценка. Как будто Вальдес взвешивал его на весах. И остался доволен.
— Hasta pronto, señor Valdés.
— Hasta pronto, señor Reyes.
Щелчок.
Связь оборвалась.
Марк сидел неподвижно.
Слушал тишину.
В наушниках — ни звука. Только его собственное дыхание. Только гул системного блока. Только далёкий, приглушённый шум офиса за стеклянной стеной.
Он медленно снял наушники. Положил их на стол.
Посмотрел на стикер с испанскими фразами.
«Las montañas tienen sus propias leyes.»
У гор свои законы.
Марк усмехнулся. Криво. Нервно.
Старик чудит. Горный воздух, видно, влияет на голову. Или связь плохая. Или просто — специфическое чувство юмора. Испанцы вообще любят пафос. Фламенго, коррида, горы с собственными законами — всё в духе.
Он потянулся к мышке. Открыл дашборд.
Посмотрел на KPI.
94,6%.
Марк нахмурился.
Цифра не изменилась. Но что-то в ней было теперь… другое. Не то чтобы она выглядела иначе. Но ощущение — изменилось.
Раньше эта цифра была как хорошо застёгнутая рубашка. Успокаивающая. Правильная.
Теперь она была как слишком туго затянутый галстук.
Марк убрал руку от мыши.
Открыл папку с аудио-файлами. Теми самыми, что пришли вместе с манифестами. Записи переговоров диспетчеров с машинистами.
Он выбрал первый файл. Состав 402. Переговоры при прохождении Puerto de las Ánimas.
Нажал Play.
Щелчок.
Шум. Треск. Помехи. Скрежет — будто колёса едут по ржавым рельсам. И — голоса. Два. Машинист и диспетчер. Говорят быстро, на горном диалекте, с проглатыванием окончаний.
Марк прислушался.
— …puerto de las ánimas… todo en orden… adelante…
(…порт душ… всё в порядке… вперёд…)
Обычный разговор. Штатная ситуация.
Марк уже собрался был выключить —
И тут он услышал это.
Сквозь треск. Сквозь скрежет. Сквозь голоса.
Стук.
Ритмичный. Ровный. Как метроном.
Тук-тук. Тук-тук. Тук-тук.
Марк нахмурился. Он прибавил громкость.
Стук стал чётче.
И — он был не в такт колёсам.
Колёса стучали в одном ритме. А этот — второй стук — шёл отдельно. Как будто кто-то — или что-то — стучало изнутри тоннеля. Изнутри стен. Изнутри самой горы.
Марк остановил запись.
Тишина.
Он перемотал на десять секунд вперёд. Нажал Play.
Снова шум. Скрежет. Голоса.
— …tres kilómetros… cuatro minutos… todo en orden…
(…три километра… четыре минуты… всё в порядке…)
И снова — сквозь помехи — тот же стук.
Тук-тук. Тук-тук. Тук-тук.
Марк остановил запись. Снова.
Он открыл второй файл. Состав 403.
Нажал Play.
Шум. Скрежет. Голоса.
Тук-тук. Тук-тук. Тук-тук.
Третий файл.
Тук-тук. Тук-тук. Тук-тук.
Четвёртый. Пятый. Шестой.
Одинаковый ритм. Одинаковая громкость. Одинаковая длительность.
Марк откинулся на спинку кресла.
Это не могло быть совпадением. Это не могло быть помехами. Это не могло быть записью, сделанной в один день, в одном месте.
Файлы были датированы разными числами. Поезда шли в разное время суток. Машинисты были разные — он проверил по голосам.
Но стук — был один и тот же.
Как будто кто-то — или что-то — стояло внутри тоннеля. И стучало. В одну и ту же точку. С одинаковой силой. С одинаковой частотой.
Раз за разом. За каждым поездом.
Марк посмотрел на часы.
16:14.
За окном темнело. Ноябрьский день был коротким — уже в четыре часа свет начал уходить, оставляя после себя серые, свинцовые тени.
Он посмотрел на дашборд.
KPI — 94,6%.
Марк медленно выдохнул.
Он был аналитиком. Он верил в цифры. В формулы. В причинно-следственные связи. Он не верил в призраков. Не верил в горные законы. Не верил в шёпоты на фоне аудиозаписей.
Он верил в данные.
А данные говорили одно: что-то не так.
Что-то — очень не так.
Марк открыл новый лист в Excel. Создал таблицу. Вбил в первую колонку — номера составов. Во вторую — даты. В третью — аномалии со временем. В четвёртую — разницу в весе. В пятую — наличие «стука» в аудио-записях.
Заполнил.
Посмотрел.
И — впервые за весь день — почувствовал, как что-то холодное и тяжёлое опустилось ему на плечи. Как невидимая, но очень реальная ноша.
Все пять составов прошли через Puerto de las Ánimas в течение одной недели.
Все пять — с аномалией во времени.
Все пять — с потерей веса.
Все пять — со стуком.
Это была не случайность.
Это была система.
Марк закрыл глаза.
В темноте за веками он увидел тоннель. Длинный, чёрный, уходящий в бесконечность. И — где-то в его глубине — стук.
Тук-тук. Тук-тук. Тук-тук.
Он открыл глаза.
Посмотрел на экран.
Надпись в заголовке таблицы, которую он только что создал, мигнула.
Один раз.
Едва заметно.
Но — мигнула.
Марк провёл рукой по лицу. Усталость. Просто усталость. Просто — слишком много данных за один день. Просто — слишком много испанского. Просто — слишком много всего.
Он сохранил файл. Закрыл Excel. Встал. Потянулся.
Пора домой.
Марк собрал вещи. Выключил монитор. Надел наушники — не для испанского, а для тишины — и пошёл к выходу.
Офис был почти пуст. Только в дальнем углу, за стеклянной перегородкой, горел свет — у кого-то из руководства. Остальные — давно разошлись. Суббота всё-таки.
Марк прошёл через холл. Сел в лифт. Нажал кнопку первого этажа.
Двери закрылись.
Лифт поехал вниз.
Тук-тук. Тук-тук. Тук-тук.
Марк замер.
Это был не лифт. Лифт шёл плавно, беззвучно.
Это был тот самый стук.
Он посмотрел вверх. На потолок лифта. На стены. На пол.
Ничего.
Стук оборвался. Так же резко, как и начался.
Двери лифта открылись. Первый этаж. Марк вышел. Прошёл через турникеты. Толкнул стеклянную дверь на улицу.
Ноябрьский вечер ударил в лицо холодом и сыростью. Дождь моросил — мелкий, противный, пробирающий до костей.
Марк натянул капюшон. Пошёл к метро.
214 шагов.
Он считал. Как всегда. Как делал каждый день.
Раз… два… три… Раз… два… три…
Всё сходилось.
Но на сто сорок втором шаге — он остановился.
Посмотрел через дорогу.
На другой стороне, у входа в подземный переход, стоял человек.
Высокий. Худой. В длинном, старомодном пальто. В шляпе, надвинутой на глаза.
Стоял неподвижно. Смотрел — прямо на Марка.
Марк почувствовал, как холод — не ноябрьский, а какой-то другой, внутренний — разлился по груди.
Он посмотрел внимательнее.
Человек не двигался. Не дышал. Не моргал.
Просто — стоял.
И — Марк был почти уверен — улыбался.
Марк моргнул.
Человека не было.
Пустая улица. Дождь. Фонари, отражающиеся в мокром асфальте.
Марк медленно выдохнул.
Усталость. Просто усталость. Просто — слишком много данных за один день. Просто — слишком много испанского. Просто — слишком много всего.
Он пошёл дальше. Досчитал до 214. Спустился в метро.
Поезд пришёл через две минуты. Марк сел у окна. Как всегда. В третьем вагоне. В третьей двери от начала платформы.
Поезд тронулся.
Тук-тук. Тук-тук. Тук-тук.
Марк закрыл глаза.
В наушниках — тишина. Он их даже не включал.
Но стук — был.
Ровный. Ритмичный. Неизменный.
Тук-тук. Тук-тук. Тук-тук.
Марк открыл глаза. Посмотрел в окно.
В темноте тоннеля, за стеклом, мелькали огни. Один. Второй. Третий.
И — на мгновение, на долю секунды — ему показалось, что в одном из них, в самом дальнем, в самом тусклом, он увидел лицо.
Старое. Худое. С глубоко посаженными глазами.
Сеньор Вальдес.
Марк моргнул.
Огонь исчез.
Осталась только темнота. Только тоннель. Только стук.
Тук-тук. Тук-тук. Тук-тук.
Марк медленно, очень медленно, выдохнул.
Он посмотрел на своё отражение в окне.
Бледное лицо. Тёмные круги под глазами. Губы, сжатые в тонкую линию.
И — за его спиной, в отражении, на заднем плане — силуэт.
Высокий. Худой. В шляпе.
Марк резко обернулся.
Пустой вагон. Только он один.
Он посмотрел обратно в окно.
Отражение — только его. Никого больше.
Марк закрыл глаза.
Усталость. Просто усталость.
Поезд вышел из тоннеля. Свет. Станция. Марк встал. Вышел.
214 шагов до дома.
Он шёл и считал. Как всегда.
Но на этот раз — считал не шаги.
А что-то другое.
Что-то, что он ещё не мог назвать.
Что-то, что начиналось.
Дома Марк не стал включать свет.
Сел на кровать. В темноте.
Посмотрел в окно. Дождь. Фонари. Серые тени.
Он достал телефон. Открыл заметки.
Написал одну строку.
«Incidencia.»
Посмотрел на неё.
Потом — добавил вторую.
«¿Qué hay en el túnel?»
(Что в тоннеле?)
Он посмотрел на экран.
Буквы светились в темноте. Белые. Чёткие. Правильные.
Марк выключил телефон.
Лёг.
Закрыл глаза.
И — уже на грани сна — услышал.
Сквозь дождь. Сквозь шум города. Сквозь тишину комнаты.
Тук-тук. Тук-тук. Тук-тук.
Стук.
Ровный. Ритмичный. Неизменный.
Как будто — где-то очень далеко, но и одновременно — очень близко — шёл поезд.
И стучал колёсами по рельсам.
Тук-тук. Тук-тук. Тук-тук.
Марк не стал вставать. Не стал проверять. Не стал включать свет.
Он просто — тихо, почти беззвучно — произнёс в темноту:
— Buenas noches.
Спокойной ночи.
И — впервые за весь день — почувствовал, что кто-то — или что-то — ответил ему.
Не словами.
Не звуком.
А — присутствием.
Тяжёлым. Холодным. Терпеливым.
Как будто — где-то в темноте, за стеной, за окном, за гранью реальности — кто-то ждал.
И — был очень, очень доволен.
ГЛАВА 3. Архитектура дашборда
Воскресенье, 9 ноября 2026 года. 05:42
Марк проснулся до будильника.
Он лежал в темноте, смотрел в потолок и слушал — тишину. Не ту тишину, которая бывает в пустой квартире. А другую — плотную, тяжёлую, почти осязаемую. Как будто воздух в комнате стал гуще. Как будто кто-то — или что-то — стояло у кровати и ждало.
Он моргнул.
Тишина осталась.
Марк сел. Потянулся к тумбочке. Наушники.
Щелчок.
— Buenos días. Hoy vamos a trabajar con tablas dinámicas y macros en Excel.
(Доброе утро. Сегодня мы поработаем со сводными таблицами и макросами в Excel.)
Голос диктора был ровным, спокойным, почти усыпляющим. Марк встал. Пошёл на кухню. Поставил чайник.
Пока вода закипала, он повторял фразы.
— Tabla dinámica. Macro. Condicional formatting.
(Сводная таблица. Макрос. Условное форматирование.)
Язык был шершавым. Но сегодня — особенно. Как будто слова цеплялись за нёбо, за зубы, за язык. Как будто рот был слишком сухим.
Марк налил чай. Сел за стол. Открыл ноутбук.
05:58.
До работы — два часа. Но он не мог ждать.
Данные. Манифесты. Аномалии. Тоннель.
Puerto de las Ánimas.
Он открыл Excel. Создал новый файл. Сохранил: «Integración_Ferrocarriles_Cordillera_v1.xlsx».
И начал.
Первым делом — структура.
Марк создал три листа:
«Raw_Data» — сырые данные из испанских манифестов.
«Processing» — промежуточные вычисления, формулы, сводные таблицы.
«Dashboard» — финальный дашборд для руководства.
Он начал с первого листа. Скопировал все данные из испанских файлов. Пятьдесят семь манифестов за последний месяц. Пятьдесят семь строк. Пятьдесят семь историй.
Каждая строка — поезд.
Каждый поезд — маршрут.
Каждый маршрут — время.
Марк выровнял колонки. Установил шрифт — Calibri, 11. Заголовки — жирным. Границы — тонкие, серые.
Всё должно было быть идеально.
Он проверил формат ячеек. Даты — «ДД.ММ.ГГГГ». Время — «ЧЧ:ММ». Числа — с двумя знаками после запятой. Текст — по левому краю. Числа — по правому.
Всё сходилось.
Марк перешёл ко второму листу.
Здесь начиналась магия.
Он создал сводную таблицу. Перетащил поля:
Строки: «Станция отправления», «Станция прибытия».
Столбцы: «Дата».
Значения: «Время в пути», «Вес груза», «Статус».
Excel мигнул. Пересчитал. Показал результат.
Марк посмотрел.
Всё было… нормально. Среднее время в пути — 4 часа 23 минуты. Средняя потеря веса — 2,8 кг. Статус — «Своевременно» в 94% случаев.
Он нахмурился.
Это было слишком… гладко. Слишком идеально. Как будто данные были не реальными, а — подогнанными.
Марк открыл фильтры. Выбрал одну станцию — Puerto de las Ánimas.
Таблица пересчиталась.
И — Марк замер.
Среднее время в пути через эту станцию — 4 минуты ровно.
Не 4 минуты 12 секунд. Не 3 минуты 58 секунд.
4 минуты.
Для всех пятидесяти семи составов.
Марк посмотрел на сырые данные. Проверил каждую строку вручную.
Состав 402: 4 минуты.
Состав 403: 4 минуты.
Состав 404: 4 минуты.
Состав 405: 4 минуты.
Состав 406: 4 минуты.
Все.
Без исключений.
Марк откинулся на спинку кресла.
Это было невозможно. Физически невозможно. Поезд не мог проходить трёхкилометровый тоннель за ровно четыре минуты каждый раз. Даже если бы машинисты были роботами. Даже если бы рельсы были идеально ровными. Даже если бы погода была одинаковой.
Всегда были отклонения. Всегда.
Но здесь — ноль.
Марк посмотрел на экран.
Цифры смотрели в ответ.
4:00. 4:00. 4:00. 4:00.
Как будто кто-то — или что-то — стирало все отклонения. Как будто кто-то подгонял реальность под идеальную формулу.
Марк почувствовал, как по спине пробежал холод.
Он закрыл глаза.
Усталость. Просто усталость. Просто — данные странные. Просто — испанцы плохо ведут учёт.
Он открыл глаза.
Продолжил работу.
Третий лист. Дашборд.
Это была его любимая часть.
Марк создал структуру:
Слева: сводная таблица с общим статусом перевозок.
Справа: диаграмма Ганта — движение составов в реальном времени.
Внизу: тепловая карта своевременности — зелёные, жёлтые, красные ячейки.
В центре: большая цифра — KPI.
Он начал с условного форматирования.
Формула была простой:
=ЕСЛИ (Время_факт <= Время_план; «Своевременно»; ЕСЛИ(Время_факт <= Время_план + 15; «Задержка до 15 мин»; «Критическая задержка»))
Марк настроил цвета:
Зелёный — «Своевременно».
Жёлтый — «Задержка до 15 минут».
Красный — «Критическая задержка».
Он применил форматирование ко всем ячейкам.
Дашборд ожил.
Зелёные ячейки. Жёлтые. Красные.
Марк посмотрел на общую картину.
KPI своевременности — 94,6%.
Он усмехнулся.
Почти идеально. Почти — потому что до ста процентов не хватало каких-то 5,4%. Но это было нормально. Это было реалистично. Это было — человечно.
Марк добавил диаграмму Ганта.
Каждый состав — полоска. Ось X — время. Ось Y — маршрут.
Он настроил цвета:
Зелёный — поезд в пути.
Серый — поезд на станции.
Красный — задержка.
Диаграмма ожила.
Полоски двигались. Составы шли по маршрутам. Станции сменяли друг друга.
Марк смотрел.
И — впервые за утро — почувствовал то самое.
Удовлетворение.
Как когда собираешь пазл. Как когда решаешь сложное уравнение. Как когда видишь, как хаос превращается в порядок.
Он был богом этого дашборда. Он создал его из ничего. Из сырых данных. Из хаоса. Из беспорядка.
И теперь — всё было под контролем.
Всё было на своих местах.
Всё сходилось.
Марк работал без перерыва.
Он не заметил, как прошло два часа. Три. Четыре.
Чай остыл. Завтрак так и не был съеден.
Он писал макросы на VBA. Автоматизировал всё, что можно было автоматизировать.
Макрос 1: автоматическое обновление данных из испанских файлов.
Макрос 2: автоматический пересчёт KPI.
Макрос 3: автоматическая отправка отчёта руководству.
Код был красивым. Чистым. Логичным.
Марк читал его — как поэзию.
vba
Sub ActualizarDashboard()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets(«Dashboard»)
ws.Range(«KPI»).Value = CalcularKPI()
ws.Range(«Fecha»).Value = Now()
MsgBox «Dashboard actualizado correctamente», vbInformation
End Sub
«Панель обновлена корректно».
Марк усмехнулся.
Корректно.
Какое красивое слово.
Он запустил макрос.
Экран мигнул. Данные обновились. KPI пересчитался.
94,6%.
Всё верно.
Марк сохранил файл. Закрыл Excel. Встал. Потянулся.
Спина хрустнула. Шея затекла. Глаза слипались.
Он посмотрел на часы.
11:23.
Он работал почти шесть часов. Без перерыва. Без еды. Без воды.
Марк моргнул.
Странно.
Он никогда так не работал. Он всегда делал перерывы. Всегда ел. Всегда пил.
Но сегодня — не мог остановиться.

