Эта категория встречается достаточно часто, то им не подходит тип процессора, то они вступают в конфликт с другим программным обеспечением, а иногда и просто содержат фатальные ошибки. Как правило, работа с ними — удел немногих энтузиастов, поэтому эти программы занимают место только там, где еще не потеряли надежду их обуздать. Третья и наиболее многочисленная группа — это сырые, или как их чаще называют в народе «глюкнутые» программы. Эти шедевры могут месяцами работать нормально, не вызывая никаких нареканий. А потом случается «глюк» — программа начинает вытворять черт знает что и, что самое досадное, после приведения в чувство повторить вызвавшую сбой ситуацию обычно не представляется возможным. Чем сложнее программный комплекс, тем вероятнее появление сбоев, тем больше вероятность того, что однажды вам с умным видом вручат результат сложнейшего расчета, весьма далекий от истинного.
К третьей группе, как правило, относятся наиболее сложные продукты — плоды длительных творческих усилий крупных разработчиков, где сотни программистов трудятся каждый над своей небольшой частью единого программного комплекса. Эти части потом плохо стыкуются друг с другом, вступают в различного рода конфликты или просто не могут найти точки соприкосновения. В частности, навигационный компьютер «Викинга» был оснащен именно такой сложной и громоздкой, но обычно весьма эффективной программой. Как правило, система вполне позволяла кораблю успешно уйти на струну и соскользнуть с нее более или менее точно в заданном месте. И тем не менее навигаторы прекрасно осознавали, что у этой самой программы в любой момент может «поехать крыша», хотя каждый искренне верил, что это произойдет не в его смену... И однажды крыша у компьютера действительно поехала.
Получив координаты цели, электронный навигатор стал рассчитывать оптимальную траекторию полета. Однако то ли сбой в памяти, то ли пресловутый «глюк» привел к тому, что, почти закончив расчеты, машина обнаружила, что забыла пункт назначения. Простенькая система на уровне банального калькулятора застенчиво извинилась бы и попросила бы повторить задание. Как бы не так, сверхсложная навигационная программа принялась лихорадочно искать выход. Путем проб и ошибок, идя от обратного — то есть от построенного уже маршрута, машина принялась вычислять конечный пункт полета. И она, безусловно, справилась бы с этой задачей, если бы именно в ходе этого процесса не произошел бы второй «глюк» — в одном числе потерялись два знака после запятой. Компьютер не обратил на это внимания. Если бы машина заметила вторую ошибку, то, видимо, все же обратилась бы за помощью к людям, однако она к тому времени все же получила более или менее приемлемый результат, основанный, к сожалению, на неправильном числе. А навигатор, доверявший компьютеру несколько больше, чем это было допустимо, не заметил несоответствий в длинных колонках цифр. Увидев на экране милое сердцу сообщение «work completed», он со спокойной совестью нажал на кнопку запуска С-драйва.
Корабль ушел на струну. Но сошел с нее чуть-чуть не там, где хотелось его капитану.
Вообще говоря, если пуля, пролетая километр, отклоняется от точки прицеливания на пару миллиметров, это считается весьма успешным выстрелом. С этой точки зрения отклонение «Викинга» от предусмотренного его командиром маршрута было еще меньшим. Соскочив со струны в двадцати парсеках от точки старта, корвет оказался всего в нескольких миллионах километров от запрограммированной точки. В обычной ситуации это не слишком взволновало бы экипаж — погрешность, вообще говоря, не была слишком уж серьезной, однако в данном случае ошибка компьютера стала для корабля роковой.
Это минное поле рекны выбросили почти в самом начале войны. В тот период у Патруля не было ни сил, ни средств для его ликвидации, к тому же заграждения располагались не на основных торговых путях, поэтому картографический отряд Четвертой эскадры ограничился определением границ минного поля и занесением его в навигационные справочники. Как-нибудь потом можно будет и очистить местность, а пока для кораблей важно знать об опасности этого участка. Справочник, регулярно обновлявшийся каждым кораблем при заходе в порт Земли или других достаточно развитых планет, содержал в себе точные параметры минного поля, а также несколько прыжковых точек в этой системе, находившихся на безопасном удалении от его границ.
Однако справочник никак не мог предусмотреть компьютерной ошибки, из-за которой корвет сошел со струны чуть ли не в самом центре сферы, нашпигованной космическими минами. Датчики разбросанных в пространстве конструкций зафиксировали появление постороннего объекта, не подававшего верный сигнал «я свой», сообщение немедленно обежало все мины, которые привели в действие свои боевые системы и приготовились к атаке.
По кораблю прокатилась сирена боевой тревоги — экипаж бросился на свои боевые посты. Рейкер счел нужным оставаться в своей каюте (как звучно именовалось это помещение, размером с большой шкаф) и присматривать за Рами. В конце концов, его здесь встретили прохладно, что было вполне объяснимо, поэтому путаться под ногами у командора Снегова и его офицеров было по меньшей мере неразумно. К тому же Рами настоятельно требовала внимания с его стороны и, прежде всего, упрашивала рассказать о том, как он стал работать на разведку Земли. Да и ему самому хотелось облегчить душу, ведь до сих пор обсудить эту тему ему удавалось только с людьми, а так хотелось встретить понимание со стороны хоть кого-нибудь из своих. Рейкер нисколько не сомневался, что расскажи он свою историю Ришу — даже вошедшая в привычку преданность не остановит старика перед доносом, поскольку любой рекн считал землян злейшими врагами Империи. Впрочем, к искренней радости Рейкера, Рами, казалось, не разделяла общих убеждений.
Поскольку приказа занять места в истребителях не поступало, пилоты направились в боевую рубки «Викинга». Дик влетел туда одним из первых, за ним подошли и остальные пилоты, даже Ким, которого обычно события, не связанные с его обязанностями, интересовали мало.
— Что случилось, кэп?
— Ни малейшего представления — нахмурившись, пробормотал Снегов, изучая показания приборов и сенсоров — Но, похоже, мы крупно вляпались. Судя по показаниям детекторов, мы вышли в самом сердце минного поля. Ума не приложу, откуда оно здесь взялось.
— Капитан — раздался голос навигатора — корвет отклонился от курса. Девиация по основным векторам составляет 3, 5 и 7 тысячных от расчетной. Предположительно ошибка в расчете курса.
— Вот тебе и объяснение, Ричард. Только от этого как-то не легче. Похоже, нам крышка.
— Разрешите поднять истребители, сэр.
— И не думай. Наши поля кое-как выдержат, по крайней мере несколько минут, а твои «Монингстары» торпеды разнесут на молекулы. Будь у меня на борту «Крисы», не было бы вопросов.
Лазерные батареи корвета открыли шквальный огонь, благо целей уже было более чем достаточно. Со всех сторон к «Викингу» устремились «смерчи», запущенные минными установками. Пока стрелки справлялись, хотя одна из торпед уже разорвалась в защитном поле корабля, заставив экраны на миг потускнеть от яркой вспышки — автоматика берегла глаза людей.
— Внимание, ракетчики! — скомандовал Снегов понимая, что сейчас вопрос об экономии не стоит и на кон поставлена жизнь «Викинга» — открывайте огонь по минам, старайтесь бить те, что еще не запускали торпед. Используйте все что можно, в том числе и «смерчи». Необходимо продержаться хотя бы полчаса, потом можно будет отсюда свалить.
Некоторое время усиленное вооружение корвета положительно сказывалось на ходе поединка — одна за другой торпеды взрывались, не достигнув внешней границы гейгена. Теперь лазеры молотили не переставая, заливая огнем пространство вокруг корабля. Казалось, сквозь этот огненный занавес ничто не сможет проникнуть. Однако долго это продолжаться не могло и Снегов, прекрасно знавший устройство космических мин, со всей очевидностью понимал, что дела их плохи — мины вот-вот изменят параметры атаки, еще минута-другая, и торпеды доберутся до корвета.
Одна из мин приняла на себя командование. Отметив, что объект по-прежнему цел, компьютер принялся просчитывать шансы на успех. Получалось, что при прежней системе атаки противнику с вероятностью 0.7 удастся покинуть контролируемую минами зону. В качестве альтернативной была рассмотрена идея массированной атаки. Поскольку в этом случае компьютер давал куда более оптимистический прогноз, данное решение было принято за основу для дальнейших действий.
Торпеды внезапно перестали сыпаться на «Викинг» и лазеры прекратили огонь — в пределах досягаемости целей больше не было. Кончились и «смерчи» — четырнадцать выстрелов, тринадцать точных попаданий. Одну торпеду мине удалось перехватить, однако взрыв произошел так близко, что компьютерные мозги конструкции свернуло набекрень и она открыла огонь по своим соседкам. Те, запрограммированные на атаку любого враждебного объекта, ответили тем же, в результате чего сумасшедшая мина и пара ее коллег прекратили свое существование. Однако «Викингу» это не слишком облегчило положение — затишье никого не обмануло — каждому было очевидно, что это затишье перед бурей.
— Что-то они замолкли...
— Сейчас, соберутся с силами... Сколько еще времени до прыжка?
— Двенадцать минут. С копейками.
— Координаты заложили?
— А какие?
— Господи, да какие угодно. Лишь бы отсюда убраться.
Эббес колдовал над боевым компьютером, затем распрямился и повернулся к остальным.
— Я перепрограммировал его на управление лазерами. Поскольку разнообразия целей мы не имеем, то система сейчас настроена исключительно на отстрел торпед — это немного добавит нам шансы. Однако на многое не надейтесь — все торпеды нам не остановить.
— Мы уже сталкивались с подобной ситуацией — заметил Дик, вспомнив операцию по чистке минного поля и несчастный трейдер, попавший тогда практически в такое же положение, в котором сейчас находились они — Тогда мины стянули торпеды со всех окрестностей и обрушили на цель одной волной. Мы пытались что-то сделать, однако их было слишком много...
Снегов пожал плечами. Очевидно, в этот раз мины примут подобное же решение. Во всяком случае такой подход был очевиден. И он нисколько не сомневался в том, что эффект будет достигнут.
— Есть одна возможность выиграть минуту-другую — раздался от двери голос с характерным нечеловеческим акцентом. Все обернулись. Рейкер стоял, прислонившись к косяку, и спокойно рассматривал окружающих. Потом, подумав, добавил — Но вам эта возможность не понравится.
— Мы вас слушаем, полковник. — спокойно сказал Снегов.
— Я, когда перебирался к вам, видел три истребителя. Можно запустить их на автопилоте впереди корабля, тогда часть торпед сработает на них...
— Вы с ума сошли! — возмутился Дик, для которого вот так запросто пожертвовать сразу тремя новенькими истребителями было святотатством. — Как можно...
— Никак не можно — услышал он за спиной голос Эббеса — Поздно. Мины начали атаку.
Компьютер, координировавший атаку, собрал вокруг корвета достаточно торпед, чтобы покончить с ним. При этом требуемое количество определялось исходя из зафиксированной огневой мощи объекта, однако в первые же секунды атаки координатору стало ясно, что действия противника несколько не вписываются в прогноз.
Объект продемонстрировал несколько более высокую плотность огня. Большая часть торпед была уничтожена еще на подлете, однако остальные продолжали атаку. Компьютер с сожалением констатировал тот факт, что торпеды заметно мешали друг другу. Одна из них успешно поразила защитное поле противника, однако взрыв разрушил три других «смерча», находившиеся рядом, которые уже были близки к цели.
— Внимание, всему экипажу! Немедленно надеть скафандры. Загерметизировать, включить переговорные устройства и внешние динамики. О готовности доложить. — Снегов быстро натянул скафандр, находившийся тут же, на мостике, и принял у оператора управление кораблем, чтобы тот тоже мог натянуть защитный костюм. — Постепенно со всех постов пришли ответы.
— Эббес! Приготовиться к выпуску атмосферы из корабля — приказал он оружейнику. Тот согласно кивнул — действительно, отсутствие атмосферы существенно снизит последствия от попадания торпеды, в противном случае одна взрывная волна, прокатившись по коридорам, наделает столько бед, что мало не покажется. Разумеется, был риск поломки скафандра, однако удар, способный повредить эланиумный костюм с гарантией угробит и того, кто в этом костюме будет находиться. Однако выполнить приказ не удалось — то ли вышло из строя какое-то реле, то ли просто банально заело люк, однако шлюз внезапно отказался открываться, а иной возможности стравить из корабля воздух не было.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
К третьей группе, как правило, относятся наиболее сложные продукты — плоды длительных творческих усилий крупных разработчиков, где сотни программистов трудятся каждый над своей небольшой частью единого программного комплекса. Эти части потом плохо стыкуются друг с другом, вступают в различного рода конфликты или просто не могут найти точки соприкосновения. В частности, навигационный компьютер «Викинга» был оснащен именно такой сложной и громоздкой, но обычно весьма эффективной программой. Как правило, система вполне позволяла кораблю успешно уйти на струну и соскользнуть с нее более или менее точно в заданном месте. И тем не менее навигаторы прекрасно осознавали, что у этой самой программы в любой момент может «поехать крыша», хотя каждый искренне верил, что это произойдет не в его смену... И однажды крыша у компьютера действительно поехала.
Получив координаты цели, электронный навигатор стал рассчитывать оптимальную траекторию полета. Однако то ли сбой в памяти, то ли пресловутый «глюк» привел к тому, что, почти закончив расчеты, машина обнаружила, что забыла пункт назначения. Простенькая система на уровне банального калькулятора застенчиво извинилась бы и попросила бы повторить задание. Как бы не так, сверхсложная навигационная программа принялась лихорадочно искать выход. Путем проб и ошибок, идя от обратного — то есть от построенного уже маршрута, машина принялась вычислять конечный пункт полета. И она, безусловно, справилась бы с этой задачей, если бы именно в ходе этого процесса не произошел бы второй «глюк» — в одном числе потерялись два знака после запятой. Компьютер не обратил на это внимания. Если бы машина заметила вторую ошибку, то, видимо, все же обратилась бы за помощью к людям, однако она к тому времени все же получила более или менее приемлемый результат, основанный, к сожалению, на неправильном числе. А навигатор, доверявший компьютеру несколько больше, чем это было допустимо, не заметил несоответствий в длинных колонках цифр. Увидев на экране милое сердцу сообщение «work completed», он со спокойной совестью нажал на кнопку запуска С-драйва.
Корабль ушел на струну. Но сошел с нее чуть-чуть не там, где хотелось его капитану.
Вообще говоря, если пуля, пролетая километр, отклоняется от точки прицеливания на пару миллиметров, это считается весьма успешным выстрелом. С этой точки зрения отклонение «Викинга» от предусмотренного его командиром маршрута было еще меньшим. Соскочив со струны в двадцати парсеках от точки старта, корвет оказался всего в нескольких миллионах километров от запрограммированной точки. В обычной ситуации это не слишком взволновало бы экипаж — погрешность, вообще говоря, не была слишком уж серьезной, однако в данном случае ошибка компьютера стала для корабля роковой.
Это минное поле рекны выбросили почти в самом начале войны. В тот период у Патруля не было ни сил, ни средств для его ликвидации, к тому же заграждения располагались не на основных торговых путях, поэтому картографический отряд Четвертой эскадры ограничился определением границ минного поля и занесением его в навигационные справочники. Как-нибудь потом можно будет и очистить местность, а пока для кораблей важно знать об опасности этого участка. Справочник, регулярно обновлявшийся каждым кораблем при заходе в порт Земли или других достаточно развитых планет, содержал в себе точные параметры минного поля, а также несколько прыжковых точек в этой системе, находившихся на безопасном удалении от его границ.
Однако справочник никак не мог предусмотреть компьютерной ошибки, из-за которой корвет сошел со струны чуть ли не в самом центре сферы, нашпигованной космическими минами. Датчики разбросанных в пространстве конструкций зафиксировали появление постороннего объекта, не подававшего верный сигнал «я свой», сообщение немедленно обежало все мины, которые привели в действие свои боевые системы и приготовились к атаке.
По кораблю прокатилась сирена боевой тревоги — экипаж бросился на свои боевые посты. Рейкер счел нужным оставаться в своей каюте (как звучно именовалось это помещение, размером с большой шкаф) и присматривать за Рами. В конце концов, его здесь встретили прохладно, что было вполне объяснимо, поэтому путаться под ногами у командора Снегова и его офицеров было по меньшей мере неразумно. К тому же Рами настоятельно требовала внимания с его стороны и, прежде всего, упрашивала рассказать о том, как он стал работать на разведку Земли. Да и ему самому хотелось облегчить душу, ведь до сих пор обсудить эту тему ему удавалось только с людьми, а так хотелось встретить понимание со стороны хоть кого-нибудь из своих. Рейкер нисколько не сомневался, что расскажи он свою историю Ришу — даже вошедшая в привычку преданность не остановит старика перед доносом, поскольку любой рекн считал землян злейшими врагами Империи. Впрочем, к искренней радости Рейкера, Рами, казалось, не разделяла общих убеждений.
Поскольку приказа занять места в истребителях не поступало, пилоты направились в боевую рубки «Викинга». Дик влетел туда одним из первых, за ним подошли и остальные пилоты, даже Ким, которого обычно события, не связанные с его обязанностями, интересовали мало.
— Что случилось, кэп?
— Ни малейшего представления — нахмурившись, пробормотал Снегов, изучая показания приборов и сенсоров — Но, похоже, мы крупно вляпались. Судя по показаниям детекторов, мы вышли в самом сердце минного поля. Ума не приложу, откуда оно здесь взялось.
— Капитан — раздался голос навигатора — корвет отклонился от курса. Девиация по основным векторам составляет 3, 5 и 7 тысячных от расчетной. Предположительно ошибка в расчете курса.
— Вот тебе и объяснение, Ричард. Только от этого как-то не легче. Похоже, нам крышка.
— Разрешите поднять истребители, сэр.
— И не думай. Наши поля кое-как выдержат, по крайней мере несколько минут, а твои «Монингстары» торпеды разнесут на молекулы. Будь у меня на борту «Крисы», не было бы вопросов.
Лазерные батареи корвета открыли шквальный огонь, благо целей уже было более чем достаточно. Со всех сторон к «Викингу» устремились «смерчи», запущенные минными установками. Пока стрелки справлялись, хотя одна из торпед уже разорвалась в защитном поле корабля, заставив экраны на миг потускнеть от яркой вспышки — автоматика берегла глаза людей.
— Внимание, ракетчики! — скомандовал Снегов понимая, что сейчас вопрос об экономии не стоит и на кон поставлена жизнь «Викинга» — открывайте огонь по минам, старайтесь бить те, что еще не запускали торпед. Используйте все что можно, в том числе и «смерчи». Необходимо продержаться хотя бы полчаса, потом можно будет отсюда свалить.
Некоторое время усиленное вооружение корвета положительно сказывалось на ходе поединка — одна за другой торпеды взрывались, не достигнув внешней границы гейгена. Теперь лазеры молотили не переставая, заливая огнем пространство вокруг корабля. Казалось, сквозь этот огненный занавес ничто не сможет проникнуть. Однако долго это продолжаться не могло и Снегов, прекрасно знавший устройство космических мин, со всей очевидностью понимал, что дела их плохи — мины вот-вот изменят параметры атаки, еще минута-другая, и торпеды доберутся до корвета.
Одна из мин приняла на себя командование. Отметив, что объект по-прежнему цел, компьютер принялся просчитывать шансы на успех. Получалось, что при прежней системе атаки противнику с вероятностью 0.7 удастся покинуть контролируемую минами зону. В качестве альтернативной была рассмотрена идея массированной атаки. Поскольку в этом случае компьютер давал куда более оптимистический прогноз, данное решение было принято за основу для дальнейших действий.
Торпеды внезапно перестали сыпаться на «Викинг» и лазеры прекратили огонь — в пределах досягаемости целей больше не было. Кончились и «смерчи» — четырнадцать выстрелов, тринадцать точных попаданий. Одну торпеду мине удалось перехватить, однако взрыв произошел так близко, что компьютерные мозги конструкции свернуло набекрень и она открыла огонь по своим соседкам. Те, запрограммированные на атаку любого враждебного объекта, ответили тем же, в результате чего сумасшедшая мина и пара ее коллег прекратили свое существование. Однако «Викингу» это не слишком облегчило положение — затишье никого не обмануло — каждому было очевидно, что это затишье перед бурей.
— Что-то они замолкли...
— Сейчас, соберутся с силами... Сколько еще времени до прыжка?
— Двенадцать минут. С копейками.
— Координаты заложили?
— А какие?
— Господи, да какие угодно. Лишь бы отсюда убраться.
Эббес колдовал над боевым компьютером, затем распрямился и повернулся к остальным.
— Я перепрограммировал его на управление лазерами. Поскольку разнообразия целей мы не имеем, то система сейчас настроена исключительно на отстрел торпед — это немного добавит нам шансы. Однако на многое не надейтесь — все торпеды нам не остановить.
— Мы уже сталкивались с подобной ситуацией — заметил Дик, вспомнив операцию по чистке минного поля и несчастный трейдер, попавший тогда практически в такое же положение, в котором сейчас находились они — Тогда мины стянули торпеды со всех окрестностей и обрушили на цель одной волной. Мы пытались что-то сделать, однако их было слишком много...
Снегов пожал плечами. Очевидно, в этот раз мины примут подобное же решение. Во всяком случае такой подход был очевиден. И он нисколько не сомневался в том, что эффект будет достигнут.
— Есть одна возможность выиграть минуту-другую — раздался от двери голос с характерным нечеловеческим акцентом. Все обернулись. Рейкер стоял, прислонившись к косяку, и спокойно рассматривал окружающих. Потом, подумав, добавил — Но вам эта возможность не понравится.
— Мы вас слушаем, полковник. — спокойно сказал Снегов.
— Я, когда перебирался к вам, видел три истребителя. Можно запустить их на автопилоте впереди корабля, тогда часть торпед сработает на них...
— Вы с ума сошли! — возмутился Дик, для которого вот так запросто пожертвовать сразу тремя новенькими истребителями было святотатством. — Как можно...
— Никак не можно — услышал он за спиной голос Эббеса — Поздно. Мины начали атаку.
Компьютер, координировавший атаку, собрал вокруг корвета достаточно торпед, чтобы покончить с ним. При этом требуемое количество определялось исходя из зафиксированной огневой мощи объекта, однако в первые же секунды атаки координатору стало ясно, что действия противника несколько не вписываются в прогноз.
Объект продемонстрировал несколько более высокую плотность огня. Большая часть торпед была уничтожена еще на подлете, однако остальные продолжали атаку. Компьютер с сожалением констатировал тот факт, что торпеды заметно мешали друг другу. Одна из них успешно поразила защитное поле противника, однако взрыв разрушил три других «смерча», находившиеся рядом, которые уже были близки к цели.
— Внимание, всему экипажу! Немедленно надеть скафандры. Загерметизировать, включить переговорные устройства и внешние динамики. О готовности доложить. — Снегов быстро натянул скафандр, находившийся тут же, на мостике, и принял у оператора управление кораблем, чтобы тот тоже мог натянуть защитный костюм. — Постепенно со всех постов пришли ответы.
— Эббес! Приготовиться к выпуску атмосферы из корабля — приказал он оружейнику. Тот согласно кивнул — действительно, отсутствие атмосферы существенно снизит последствия от попадания торпеды, в противном случае одна взрывная волна, прокатившись по коридорам, наделает столько бед, что мало не покажется. Разумеется, был риск поломки скафандра, однако удар, способный повредить эланиумный костюм с гарантией угробит и того, кто в этом костюме будет находиться. Однако выполнить приказ не удалось — то ли вышло из строя какое-то реле, то ли просто банально заело люк, однако шлюз внезапно отказался открываться, а иной возможности стравить из корабля воздух не было.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139