Сентябрьское утро в вестибюле научно-исследовательского института началось с утробного грохота, словно рухнуло бетонное перекрытие.
Стекла во входных дверях звякнули. Дежурная вахтерша, дремавшая над кроссвордом в стеклянной выгородке, вздрогнула и выронила шариковую ручку. Очки съехали на кончик носа.
По ту сторону турникета, тяжело опираясь на деревянную стойку барьера, стоял почтальон. На нем была форменная фуражка с потемневшей кокардой, а форменная куртка на спине потемнела от пота. Мужчина тяжело хватал ртом воздух и тер поясницу. У ног почтальона, на выщербленной шестигранной плитке вестибюля, громоздились три необъятных мешка. Сшитые из грубого серого брезента, они казались набитыми строительным мусором. Горловина каждого была туго перетянута пеньковой веревкой, концы которой утопали в массивных, темно-бордовых нашлепках почтового сургуча.
Алексей Морозов спускался по центральной лестнице, когда эхо от падения третьего мешка еще висело под высоким потолком вестибюля. Он планировал сбегать в буфет за коржиком к утреннему чаю, но его шаги замедлились, а затем и вовсе остановились на нижней площадке.
Запах долетел до него раньше, чем он осознал масштаб происходящего. Это был густой, ни с чем не сравнимый аромат товарных вагонов, пыльной бумаги, высохшего канцелярского клея, дешевых чернил и плавленого сургуча. Запах огромной, неповоротливой советской логистики.
Морозов медленно подошел к турникету. Вахтерша смотрела на гору брезента с суеверным ужасом. Она уже привыкла к тому, что с весны в КБ-3 регулярно носят увесистые пачки писем, но три гигантских мешка за одно утро выходили за рамки любого понимания.
Почтальон стянул фуражку, вытер лоб тыльной стороной ладони и хрипло выдохнул. Он достал из планшета измятый реестр. Морозов бросил взгляд на бланк. В графе получателя кривым почерком значился абонентский ящик ДОСААФ, закрепленный за их лабораторией.
Алексей шумно выдохнул. Осенняя волна ударила со всей силы.
Школьники вернулись из пионерлагерей, студенты — со стройотрядов. Летние номера «Радио» с полными правилами конкурса, наконец, дошли до самых глухих уголков страны, зачитанные до дыр в библиотеках и радиокружках. Если бы августовский кризис с дисководом закончился провалом, этот бумажный шторм похоронил бы их проект. Но теперь, глядя на сургучные печати, Морозов знал: у них есть абсолютно стабильная базовая «Сфера-80М», готовая к массовому тиражированию, и есть прототип «Сферы-82», способный переварить любой софт. Они были готовы встретить эту лавину.
Он достал из кармана брюк складной нож, щелкнул лезвием и подошел к ближайшему мешку. Вахтерша попыталась что-то возразить про накладные и порядок приема, но Алексей уже подцепил острием пеньковую веревку. Толстая нить поддалась с сухим треском. Сургучная печать раскололась пополам, обнажая серое горло мешка.
Морозов потянул за края брезента, широко раскрывая горловину.
Внутри, плотно спрессованные, лежали сотни, тысячи конвертов. Стандартные почтовые треугольники, плотные пакеты из серой крафт-бумаги, самодельные склейки из тетрадных листов. Марки пестрели всеми цветами радуги.
Алексей запустил руку по локоть в этот бумажный массив и вытянул наугад толстую пачку писем. Обратные адреса читались как карта необъятной империи. Свердловск. Комсомольск-на-Амуре. Крохотный поселок в Новосибирской области. Мурманск. Киев. Рига.
Журнал дошел до подписчиков. Архитектура ушла в массы. И массы ответили ударом на удар.
Морозов посмотрел на два других нетронутых мешка, на ходу просчитывая последствия. Это была победа, грозящая обернуться катастрофой. Три мешка корреспонденции означали полную парализацию работы КБ-3. Чтобы просто вскрыть и прочитать это, потребуются недели. Ни о какой пайке, ни о каком программировании не могло быть и речи.
Он бережно вернул пачку писем обратно в мешок, стянул края брезента и убрал нож в карман.
— Петровна, звони в АХО, пусть пришлют двоих с тележкой, — скомандовал он вахтерше, которая все еще держала в руках зависшую в воздухе ручку. — Это нужно срочно и аккуратно поднять к нам на этаж.
Нужно было срочно менять логистику. Инженерный отдел предстояло превратить в сортировочный узел.
К полудню лаборатория КБ-3 утратила всякое сходство с научным учреждением, превратившись в филиал почтамта. Запах канифоли и нагретого гетинакса вытеснил едкий аромат бумажной пыли. Три брезентовых мешка покоились в центре комнаты, а из их распоротых горловин по линолеуму растекались потоки конвертов.
Алексей Морозов стоял у доски, предварительно стерев с нее схему прерываний видеоконтроллера. Перед ним полукругом сидела вся команда.
Зрелище было по-своему сюрреалистичным. По правую руку жались друг к другу молодые цифровики — Громов, Люба, Олег, Наташа и Саша. По левую, тяжело опираясь на столешницы, сидели угрюмые ветераны из расформированного КБ-2. Аналоговики. Те самые люди, чьи столы еще недавно были завалены стрелочными вольтметрами и огромными трансформаторами, те, кто презирал микросхемы и считал цифровую логику хрупкой игрушкой. Сейчас на их лицах читалась смесь глубокого оскорбления и растерянности.
Михалыч сидел в углу, скрестив руки на груди, и мрачно жевал незажженную папиросу.
Морозов взял кусок мела. Он чувствовал повисшее в воздухе напряжение, но времени на сантименты не оставалось.
— Товарищи, — голос Алексея звучал ровно, без командирских ноток, но с той внутренней плотностью, которая заставляла слушать. — Вы видите перед собой результат нашей весенней работы. Страна получила чертежи. И страна хочет собирать нашу машину. То, что лежит на полу — это не просто письма читателей. Это заявки на комплектующие и решения тестовых задач.
Он провел на доске жирную вертикальную черту, разделив пространство на две половины.
— Мы не просто продолжаем летнюю сортировку, мы переходим в режим отбора. Вся входящая почта теперь жестко фильтруется на две категории.
Морозов постучал мелом по левой стороне доски.
— Первая категория — наша рутина. Программа-минимум. Сюда попадают те, кто прислал правильно решенную базовую задачку и анкету. Как и все лето, мы формируем реестры для Посылторга. Отгружаем им Удостоверение Кибернетика, прошитое ПЗУ, ОЗУ и орловскую клавиатуру за сорок рублей наложенным платежом. Тем, кто решил неправильно или забыл про анкету — стандартный бланк отказа.
По рядам аналоговиков прокатился недовольный ропот. Петр Иванович, грузный ветеран КБ-2, поправил массивные очки и тяжело вздохнул.
— Алексей Николаевич, мы все лето слюнявили марки и клеили эти коробочки, как артель инвалидов, — пробасил он, глядя на мешки с нескрываемым раздражением. — Думали, к осени этот балаган закончится. Мы конструкторское бюро или склад ДОСААФ? Сколько можно рассылать эти детальки?
— Ровно столько, сколько нужно, чтобы покрыть спрос страны, Петр Иванович, — не моргнув глазом ответил Алексей. — Пока мы обеспечиваем людей дефицитом за их же честные сорок рублей, мы имеем политическую броню от комсомола. Но главное сейчас не это.
Морозов перевел мел на правую половину доски.
— Вторая категория. Олимпиада. Мы не потянем переписку в несколько туров, почта ходит слишком медленно, мы просто утонем в макулатуре. Поэтому всё решается здесь и сейчас. Помните летние номера журнала? Мы опубликовали там задачи «со звездочкой». Логистику развозки хлеба по райцентру — классическую задачу коммивояжера. Оптимальный раскрой листового металла для вагоностроительного завода. Мы дали им не игрушки, а реальные производственные проблемы.
Громов, до этого клевавший носом, встрепенулся.
— И ты думаешь, они их решили? Без ЭВМ, просто на тетрадных листках в клеточку?
— Вот это мы и проверим, — Морозов усмехнулся. Сухая, прагматичная улыбка тронула уголки его губ. — Ищите письма, где вложены не просто анкеты, а блок-схемы с решениями этих задач. Глубокие, нестандартные авторские алгоритмы. Эти жемчужины вы откладываете лично мне. Пятеро авторов самых безупречных решений получат в декабре готовые, собранные призовые машины.
В лаборатории повисла тишина. Инженеры переваривали масштаб задуманного. Морозов предлагал не просто провести конкурс. Он предлагал превратить тысячную армию школьников, студентов и сельских радиолюбителей в гигантский, распределенный вычислительный кластер.
Михалыч наконец вынул папиросу изо рта. Он медленно обвел взглядом своих подчиненных. Его тяжелый, непререкаемый авторитет навис над комнатой.
— Чего расселись? — проворчал начальник КБ, упираясь руками в колени. — Человек вам дело говорит. Если мы эту макулатуру не отработаем, нас министерство с говном съест за самодеятельность в прессе. А так — мы передовая инициатива. Берем ножи для бумаги. Столы сдвинуть. Сортируем по областям. Кто запутается в реестрах — лично лишу прогрессивки.
Аналоговики нехотя, со скрипом стульев, начали подниматься. Высококвалифицированные инженеры, привыкшие ювелирно настраивать контуры индуктивности, брали в руки тупые почтовые ножи. Зрелище было насквозь пропитано иронией. Морозов наблюдал, как Петр Иванович, брезгливо подцепив конверт двумя пальцами, словно дохлую мышь, аккуратно взрезает край бумаги.
Конвейер запустился. Шутки кончились, уступив место монотонному, изматывающему труду. Лаборатория наполнилась непрерывным шорохом разрываемой бумаги, бормотанием адресов и сухим шелестом перекладываемых листов.
Поздний вечер окрасил окна лаборатории в густой, чернильный цвет. Верхний свет давно выключили, чтобы не слепить уставшие глаза. Рабочие места освещались лишь низко опущенными плафонами настольных ламп, выхватывающими из полумрака руки, горы бумаги и бледные лица инженеров.
Воздух в помещении стал тяжелым, сухим и пыльным. Казалось, каждый вдох оставляет на зубах привкус целлюлозы.
Морозов сидел за своим столом, машинально массируя виски. Пальцы саднило от множества мелких бумажных порезов — невидимых, но злых ранок, которые щипали при каждом движении. Сортировка масс-маркета шла своим чередом, папки с реестрами на отправку деталей пухли на глазах.
Он потянулся к очередной стопке неразобранной почты. Под пальцы попался ничем не примечательный конверт, помятый в пути, со штемпелем почтового отделения небольшого промышленного городка на Урале. Обратный адрес сообщал, что отправителем является Костя Макаров. Судя по неровному, старательному почерку на конверте — школьник.
Алексей вскрыл конверт. Внутри не было стандартной вырезки с анкетой из журнала. Там лежал только один лист бумаги, вырванный из обычной школьной тетради в клетку и аккуратно сложенный вчетверо.
Морозов развернул лист. Поднес его ближе к кругу света от настольной лампы.
Он ожидал увидеть наивные вопросы о том, где достать паяльник, или неумелые попытки нарисовать электрическую схему из учебника физики. Но то, что предстало его глазам, заставило его замереть. Дыхание Алексея на секунду сбилось, а усталость как рукой сняло.
Весь тетрадный лист, от края до края, был заполнен карандашными линиями. Вместо привычного текста бумагу покрывала аккуратная блок-схема.
Простой графитовый карандаш вычерчивал идеальные геометрические фигуры: ромбы условий, прямоугольники процессов, параллелограммы ввода-вывода. Линии соединений были проведены по линейке с маниакальной точностью.
Морозов начал вчитываться в логику, написанную мелким, бисерным почерком внутри блоков. Мальчишка из провинции блестяще решил ту самую олимпиадную «задачу со звездочкой» об оптимизации раскроя листового металла. Не зная синтаксиса современных языков программирования, он реализовал классический вариант задачи о рюкзаке, виртуозно адаптировав его под двумерное пространство.
Алексей вел взглядом по стрелкам переходов. Он искал ошибку. Зацикливание. Утечку памяти. Неопределенное состояние. Его мозг, натренированный годами работы с высокоуровневым кодом в далеком будущем, автоматически компилировал эту карандашную графику.
Ошибок не было.
Условия выхода из циклов были прописаны безупречно. Использование переменных сведено к абсолютному, спартанскому минимуму. Это был алгоритм, написанный не под конкретное железо, а для чистого разума — его можно было прямо сейчас перевести в машинные коды любого процессора, и он бы отработал за доли секунды.
— Женя, — тихо позвал Морозов. Его голос в тишине прозвучал странно хрипло.
Громов, сидевший за соседним столом в окружении стопок анкет, поднял красные от недосыпа глаза.
— Что там, Леша? Очередной Кулибин предлагает запитать процессор от картофелины?
Алексей молча протянул ему тетрадный лист.
Евгений взял бумагу. Сначала он смотрел на нее со снисходительной усталостью. Затем его брови поползли вверх. Он придвинул лампу ближе. Губы программиста беззвучно зашевелились, повторяя логические переходы.
Тишина в лаборатории стала плотной, осязаемой. Аналоговики, Петр Иванович и еще двое ветеранов, перестали шуршать конвертами и прислушались. Даже они, далекие от программирования, почувствовали изменение атмосферы.
— Это… — Громов сглотнул. Он поднял взгляд на Морозова. В его глазах читался шок профессионала, встретившего нечто за гранью понимания. — Леша, это же рекурсия. Он реализует перебор с возвратом. Хранит маркеры состояний в линейном массиве. На тетрадном листе. Карандашом.
Олег, ковырявшийся с отверткой в разобранном блоке питания на другом конце комнаты, подошел ближе, вытирая руки о халат. Он заглянул через плечо Громова.
— Ни единой помарки, — пробормотал Олег, вглядываясь в графитовые линии. — Он что, это в уме сначала отладил, а потом набело перерисовал? Да у нас в ВЦ целый отдел математиков сидит, они бы эту задачу месяц мусолили на перфокартах, гоняя тестовые прогоны на ЕС-ке!
Петр Иванович тяжело поднялся со своего стула. Он подошел к столу Морозова, опираясь суковатыми пальцами на столешницу. Ветеран долго, прищурившись, смотрел на тетрадный листок. Для него эти ромбики и стрелочки были программной абракадаброй, но он умел читать чертежи. А этот лист был именно эталонным инженерным чертежом — строгим, не терпящим двусмысленностей.
— Школьник, говорите? — басом спросил старый инженер.
— Костя Макаров, — ответил Морозов, аккуратно забирая лист у Громова. — Судя по адресу — Урал. Он претендент на одну из пяти призовых машин. И он ее получит.
В глазах Петра Ивановича глухое раздражение от сортировки писем сменилось тяжелым уважением. Тем самым уважением, которое советский мастер испытывает к таланту.
— Выходит, он ни разу в жизни не сидел за живой ЭВМ, — констатировал ветеран, качая головой. — Писал вслепую. Выстроил такую сложнейшую логику исключительно в уме, вообще без привязки к железу, оперируя только чистой математикой.
Морозов кивнул. Это явление было уникальным. «Бумажный код». Социальный феномен эпохи тотального дефицита. Интеллект, лишенный инструмента, создавал алгоритмы силой одного лишь воображения. У этих детей не было роскоши нажать кнопку «компилировать» и посмотреть, на каком условии программа зациклится. Они прокручивали итерации в собственных нейронах.
— В отдельную папку, Леша, — тихо сказал Громов, возвращаясь за стол. Ирония из его голоса исчезла. — Таких нужно искать. Это настоящие архитекторы…
Алексей бережно вложил тетрадный лист Кости Макарова в чистый картонный скоросшиватель. На обложке он вывел: «Высшая лига. Кандидаты». Скепсис исчез. Лаборатория снова погрузилась в работу, но теперь в шелесте рвущейся бумаги звучал не раздражающий шум монотонной повинности, а методичный ритм поиска крупиц золота в тоннах пустой породы.
Глубокая ночь окончательно вступила в свои права, укутав здание НИИ плотным, глухим безмолвием. В коридорах давно погас свет, лишь изредка щелкали тепловые реле в батареях отопления.
Алексей Морозов стоял у темного окна лаборатории. Холодное стекло чуть холодило лоб. Снаружи, за редкими фонарями институтского двора, скрывалась невидимая, спящая страна.
В руках Алексей держал увесистую стопку писем, отобранных за этот долгий день. Бумажный код. Тетрадные листы, миллиметровка, обрывки ватмана. Карандашные схемы, псевдокод, алгоритмы на Фортране и даже математические формулы, описывающие логику работы.
Он смотрел в свое бледное отражение на стекле и чувствовал, как внутри сжимается тугая пружина осознания.
То, что начиналось как хитрый рекламный ход для легализации деталей, превратилось в нечто пугающе масштабное. Морозов понимал экономику и систему управления этого времени лучше, чем кто-либо другой. Советская бюрократическая машина была неповоротливым левиафаном. Госплан пытался рассчитать потребности миллионов людей и тысяч заводов с помощью громоздких вычислительных центров, утопая в бумагах и искаженных отчетах снизу. Системе хронически не хватало вычислительных мощностей и гибкости умов.
А он, инженер из будущего, застрявший в провинциальном КБ, только что создал свой собственный «Теневой Госплан».
Он выстроил распределенную сеть из сотен блестящих, не зашоренных ГОСТами умов. Эти школьники, студенты и рабочие, сидящие на кухнях коммуналок от Владивостока до Калининграда, жаждали сложных задач. Им не нужны были зарплаты или должности. Им нужен был вызов. Им нужен был доступ к вычислительной мощности. И Морозов давал им этот доступ, превращая их бумажные алгоритмы в реальные программы, которые завтра можно будет внедрять на станках с ЧПУ и логистических узлах.
Морозов не собирался спасать Советский Союз в пафосном понимании, переписывать историю партийных съездов или предотвращать геополитические кризисы. Он просто находил потенциал людей, которых система игнорировала из-за возраста, статуса или отсутствия прописки в Москве, и подключал его к единой логической шине проекта.
Сзади раздались тихие шаги. В стекле отразился силуэт Евгения Громова.
Программист подошел почти вплотную и поставил на подоконник толстостенную фарфоровую кружку. Над темной, почти черной жидкостью поднимался редкий парок.
— Заварки больше нет, Леша. Это уже практически чифирь, — тихо сказал Громов, пряча озябшие руки в карманы брюк.
Морозов взял кружку. Фарфор обжигал пальцы, но это было приятное, отрезвляющее тепло. Он сделал глоток. Чай был невыносимо терпким и сухо вязал язык.
Они молчали. Слова были не нужны. Между ними повисло воспоминание о недавней августовской ночи, когда тяжелый болгарский дисковод с хрустом прочитал директорию, а экран показал заветное приглашение командной строки, не рухнув в коллизию шины. Та победа над упрямым железом казалась сейчас такой далекой, хотя прошло всего несколько недель. Но именно та победа сделала возможной эту гору бумаги. Без стабильного макета они были бы просто кучкой энтузиастов с паяльниками. Теперь они были центром притяжения.
— Мы больше не просто конструкторское бюро, Женя, — произнес Морозов, глядя в темноту двора. — «Сфера» выросла из этих стен. Она теперь там. Везде.
Громов проследил за его взглядом. Он кивнул, соглашаясь с невидимой, но давящей тяжестью новой реальности.
— И что мы будем делать со всем этим интеллектом, архитектор? — спросил программист с легкой, но уже беззлобной иронией.
— Заставим его работать, — прагматично ответил Алексей.
Он отпил еще немного пережженного чая, оставил стакан на подоконнике и развернулся. Шаги Морозова в пустой лаборатории звучали гулко и мерно. Он подошел к массивному, выкрашенному серой молотковой эмалью сейфу, стоящему в углу кабинета.
Алексей достал из кармана тяжелый металлический ключ со сложной бородкой. Вставил его в замочную скважину.
Внутрь железного ящика, на полку, где обычно хранились секретные ГОСТы и документация со штампами «Для служебного пользования», Морозов бережно положил картонную папку с отобранными тетрадными листами. Бумажный код. Главный, неосязаемый актив их проекта.
Он повернул ключ. Толстые металлические ригели с глухим, маслянистым щелчком вошли в пазы, намертво запирая дверцу.