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