Как решали шашки

Марион Тинсли – профессор математики, священник, лучший игрок в шашки в мире – сидел за столом напротив компьютера и умирал. Тинсли 40 лет удерживал первенство в шашках, и за это время он проиграл людям несколько игр, но никогда не проигрывал матч. Возможно, что ни в одной соревновательной дисциплине не было такого чемпиона, каким был Тинсли в шашках. Но это соревнование было другим – мировой чемпионат между человеком и машиной.

Его оппонентом был " Chinook" («Шинук»), программа, играющая в шашки, созданная Джонатаном Шеффером, человеком с вьющимися волосами, пухлым, занимающим должность профессора Альбертского университета. В тот день он управлял машиной. Благодаря маниакальной работе над «Шинук», она стала очень хорошим игроком. Она не проиграла ни одной игры за последние 125 игр – и с тех пор, когда они близко подошли к победе над Тинсли в 1992 году, Шеффер с командой потратили тысячи часов на улучшение программы.

Накануне матча Тинсли приснилось, что с ним говорил Бог, и сказал ему: «Джонатан мне тоже нравится», что привело его к мысли, что он потерял эксклюзивную поддержку свыше.

И вот они сидели в Компьютерном музее Бостона, ныне уже не функционирующем. Комната была большой, но в ней присутствовало всего несколько десятков человек. Два человека планировали сыграть 30 матчей за следующие две недели. Это был 1994 год, когда ещё не было игр Гарри Каспарова и Deep Blue, или Ли Седоля и AlphaGo.

Современники описывали это событие как битва человека и машины, хитроумного человеческого разума и грубой вычислительной силы суперкомпьютера. Но Тинсли и Шеффер сошлись на том, что это была битва двух мужчин, подготовившихся и настроивших уникальный инструмент для победы над соперником. Так долго преобладая над соперниками-людьми, Тинсли с нетерпением ждал матча с сущностью, с которой можно будет сыграть как следует. Он вызвался участвовать в дружеских матчах, для разминки перед двумя матчами на мировое первенство. Шеффер, хоть он был и упёртым, стал самым эффективным промоутером искусства и наследия Тинсли.

Но в той комнате Тинсли донимали особенности человеческого развития. У него болел живот. Боль не давала ему заснуть всю ночь. После шести игр – все ничьи – ему пришлось обратиться к врачу. Шеффер отвёз его в госпиталь. Он отделался «Маалоксом». Но на следующий день на рентгеновских снимках увидели опухоль в поджелудочной железе. Тинсли понял свою судьбу.

Он взял самоотвод. «Шинук» стал первой компьютерной программой в истории, выигравшей мировое первенство у людей. Но Шеффер был подавлен. Он посвятил годы жизни созданию программы, способной выиграть у лучшего игрока в шашки, и как только он был готов к реализации мечты, Тинсли вышел из игры. Через несколько месяцев Тинсли умер, так и не проиграв матча «Шинуку».

В результате Шеффер пустился в 13-летнюю одиссею по изгнанию призрака человека. Без Тинсли единственным способом доказать, что «Шинук» мог бы его победить, стал поиск способа победить саму игру. Результаты он опубликует 19 июля 2007 года, в журнале Science, с заголовком: ""Шашки решены«:[http://science.sciencemag.org/…17/5844/1518]».

«После окончания саги Тинсли в 94–95 годах, до 2007-го я, как одержимый, работал над созданием идеальной программы для шашек, – сказал мне Шеффер. – Причина была простой: я хотел избавиться от призрака Мариона Тинсли. Мне говорили: ‹Ты не смог бы обыграть Тинсли, потому что он был идеален›. Ну, да, мы бы победили Тинсли, потому что он был почти идеален. Но моя компьютерная программа – идеальна».

  • * *

Джонатан Шеффер не начинал свою карьеру с намерения решить шашки. Сначала он играл в шахматы. Хорошо, но не гениально. А ещё он обожал компьютеры, и получил докторскую степень по информатике, поэтому решил написать программу, играющую в шахматы. Он назвал её «Фениксом», и она была в числе лучших среди многих программ для шахмат, написанных в 80-х. Однако в 1989 году на мировом чемпионате для играющих в шахматы компьютеров она с треском провалилась. Одновременно начала собираться команда, которая создаст DeepBlue, ПО для игры в шахматы, которое сможет победить Каспарова. Шеффер понял, что ему никогда не удастся создать мирового чемпиона среди компьютеров.

Коллега предложил ему попробовать вместо этого шашки – и всего через несколько месяцев работы его ПО уже было достаточно хорошим, чтобы отправиться на компьютерную олимпиаду в Лондоне и состязаться с другими шашечными ботами. Именно там он и начал узнавать историю Мариона Тинсли, величайшего.

На высших уровнях шашки – игра на интеллектуальное истощение. Большинство игр сводятся к ничьей. В серьёзных матчах игроки не начинают со стандартных позиций. Для них случайным образом выбирается дебют после трёх ходов из набора одобренных, что даёт небольшое преимущество одному или другому игроку. Они разыгрывают его, затем меняются цветами. Основной способ проиграть – сделать ошибку, за которую ухватится соперник.

Судя по всему, шашки должны легко подчиняться компьютеру. Эта идея витала ещё в середине 1950-х, когда исследователь из IBM, Артур Сэмюэл, начал экспериментировать с программами, играющими в шашки на компьютере IBM 704. Он работал над этой задачей следующие 15 лет, опубликовал несколько важных научных работ по дисциплине, названной им «машинным обучением».

МО – базовая концепция современной волны ИИ. Потомки той ранней работы сегодня обещают провести революцию в целых индустриях и на рынках труда. Но программы Сэмюэла не снискали успеха в матчах с оппонентами-людьми. В мае 1958 года несколько членов клуба любителей шашек и шахмат корпорации Эндикот-Джонсон разгромили компьютер, к восторгу газет Binghamton Press и Sun-Bulletin.

«Человеческий мозг, иногда теряющийся в эру спутников, замороженной еды и электронных машин для обработки данных, сегодня вернулся к прежнему великолепию, – говорилось в газете. – 704-й, по словам доктора Сэмюэла, не думает. Он проводит поиск в „памяти“, хранящейся на плёнке, шашечных позиций, встреченных им ранее. Затем он отвергает выборы, окончившиеся для него в прошлом плохо, и делает ходы, в прошлом приведшие к успеху».

Это всё ещё неплохо описывает концепцию " обучения с подкреплением", одной из технологий МО, возродившей область ИИ в последние годы. Один из авторов книги по этой теме, «Reinforcement Learning», Рич Саттон, назвал исследование Сэмюэла «самой ранней» из работ, «сегодня рассматривающихся как напрямую связанные» с современным развитием ИИ. Саттон также числится среди коллег Шеффера в Альбертовском университете, где, согласно недавнему анонсу, лаборатория DeepMind AI от Google откроет свой первый международный исследовательский центр.

И хотя его технологии были революционными, за 10 лет Сэмюэл, по его собственным словам, достиг «ограниченного прогресса», хотя и продолжал работать над этим в IBM, заглядывая в Массачусетский технологический институт, а затем получив грант от Министерства обороны в Стэндфордском университете. Как это происходит и со многими сегодняшними необычными ИИ-технологиями, у него просто не было достаточно вычислительных мощностей или наборов данных для того, чтобы его прекрасные идеи заработали.

Так что когда Шеффер начал создавать собственное ПО, он вернулся к работал Сэмюэля и обнаружил, что по этому пути он идти не может. Ему нужно было делать всё с нуля. Сначала они назвали проект «Зверем», но в результате пришли к имени «Шинук», которым зовутся тёплые ветра, дующие в канадской провинции Альберта.

Работа захватила Шеффера. Как он описывал её в книге 1997 года: «Иногда, когда мне сложно было заснуть, я представлял себе возбуждение, которое охватит меня, когда „Шинук“, наконец, победит Ужасного Тинсли». Его жена прерывала его задумчивость словами: «Ты там опять про него думаешь?»

С годами программа росла, сохраняя два ключевых компонента. Первый понять легко – это «книга» полных подсчётов всех возможных позиций в шашках с определённым, небольшим количеством шашек на доске. Так что, если на доске остаётся всего шесть шашек – а с течением времени они добрались до семи, а потом и до восьми – ПО Шеффера становились известными все возможные комбинации. В начале 90-х для этих расчётов потребовались огромные по тем временам вычислительные мощности.

Но чем больше вычислений проделывали Шеффер с командой, тем лучше становился «Шинук». У него появилась возможность выигрывать у людей. Но они знали, что не в состоянии просчитать все возможные позиции.

Правила шашек просты [американских – прим. перев.], но количество потенциальных ходов огромно – 5 х 1020. У Шеффера есть хорошая аналогия, помогающая представить нелепость ситуации: представьте, что мы осушили Тихий океан, и теперь нам нужно его наполнить при помощи небольшой чашки. Тогда как раз и получится, что весь океан – это количество возможных позиций.

Второй компонент системы понять сложнее. «Шинуку» нужно было уметь искать возможные ходы, начиная с начала матча. Как и многие похожие программы, «Шинук» заглядывает вперёд на множество ходов и пытается подсчитать желательность каждого варианта. Сначала «Шинук» мог заглядывать всего на 14–15 ходов вперёд, но с улучшением компьютеров и ПО он заглядывал всё дальше и дальше. «Как и с шахматами, глубже всегда означает лучше», – говорит Шеффер.

В конце 1990-х Американская федерация шашек позволила «Шинуку» сыграть в американском чемпионате. ПО не знало поражений и сыграло с Тинсли вничью шесть раз. Это заслужило право для ПО выступить против Тинсли на мировом чемпионате.

После выступления «Шинука» Тинсли позвонил Джонатану Шефферу и спросил, может ли он сыграть несколько дружественных матчей.

  • * *

С 1950 по 1990 года Тинсли был чемпионом мира по шашкам каждый раз, когда ему это было интересно. Иногда он удалялся с целью поработать над математикой или изучить вопросы религии, но в результате возвращался, обыгрывал всех и снова становился чемпионом. За 40 лет в сумме он проиграл пять игр и никогда не выбывал из матча.

Дерек Олдбери, возможно второй лучший игрок всех времён, написал энциклопедию шашек. В ней он безудержно воспевал мастера: «Марион Тинсли в шашках – как Леонардо да Винчи в науке, как Микеланджело в искусстве, как Бетховен в музыке».

Марион Тинсли, 1974

Сложно оценить Тинсли с позиции XXI века. Он кажется пришельцем из другого мира, или из другого времени. Его жизнь состояла из шашек, математики и веры. Он был добрым, но при этом стиль его игры был безжалостным и агрессивным.

Часто говорят, что некто «жил разумом», но в случае с Тинсли и жизнь, и разум были необычными. Годами, сначала будучи студентом, а потом аспирантом в Университете штата Огайо, он проводил по восемь часов в день за шашками. Он никогда не был женат. «Я никогда не видел, чтобы брак и шашки уживались, – сказал он репортёру. – Редкая женщина может выйти замуж за настоящего приверженца шашек». Его мать жила с ним до 1980-х. В 1993 году The Philadelphia Inquirer описывал одежду Тинсли, как большой синий свитер, надетый на рубашку и галстук. Обедом ему служили «кувшин молока, пол-яблока и бутерброд с арахисовым маслом».

Его отношение к расовым вопросам Юга тоже было удивительным. «Я думал поехать в Африку и стать миссионером, – рассказал он журналу Sports Illustrated в 1992 году, – а потом какая-то негритянка с длинным языком сказала мне, что большинство людей, желавших помогать чёрным в Африке, даже не разговаривают с чёрными в Америке».

В результате он стал священником в преимущественно негритянской церкви и бросил работу в математическом отделе Университета штата Флорида, чтобы преподавать в исторически негритянском Флоридском университете сельского хозяйства и машиностроения. Там он провёл 26 лет. В фотоальбоме, датированном одним из последних лет его работы там, показывает насыщенную жизнь студенческого кампуса, в котором Тинсли, вероятно, был единственным белым человеком старше 40. Не сохранилось мнений студентов по поводу своего профессора, шашечного чемпиона, но его коллега описал роль Тинсли в местном некрологе: «На обеде в честь ухода в отставку буквально все: старые, молодые, чёрные, белые, студенты, работники института… рассказывали, как он повлиял на их жизни». Для человека его времени, выросшего в шт. Кентукки, его жизненный путь выглядит весьма удивительно.

Одно ясно: Тинсли был гением. Его гений был отточен и оформлен в нечто странное и чудесное. Он был самым лучшим в этой единственной области, и средним во всём остальном. Одна его часть стала похожей на ИИ – узкоспециальная, но чрезвычайно умелая – а все остальные жили простой человеческой жизнью.

Когда в 1993-м в Таллахасси его навестил репортёр, он увидел на его участке дорожку, ведущую к двухэтажному кирпичному дому, обрамлённую лавандовыми азалиями. В комнате на втором этаже была доска для шашек и зачитанные книги по шашкам. Тинсли любил сидеть в велюровом кресле марки La-Z-Boy. Он не мог объяснить, что для него значат шашки – почему он всю жизнь изучал последовательности ходов, почему держал рядом с кроватью магнитную доску для отработки новых комбинаций. Это было что-то близкое к божественному.

«Шашки – глубокая, простая, элегантная игра», – сказал он однажды. А в другой раз отметил, что игра с другим хорошим игроком похожа на то, как «два художника, работающих вместе над произведением искусства».

Есть ещё самая популярная его цитата: «Шахматы похожи на наблюдение за огромным бескрайним океаном, а шашки похожи на взгляд в бездонный колодец».

Будто бы ходы в шашках для него были цитатами из Священного писания, над которыми он мог бесконечно медитировать и по-новому понимать. «Внезапно из ниоткуда на ум могло прийти улучшение опубликованной игры, как будто подсознание работало над этим, – сказал он Chicago Tribune в 1985 году. – Множество моих открытий появляются таким образом, из ниоткуда. Некоторые мои прозрения, касающиеся Священного писания, появляются точно так же».

  • * *

Когда Тинсли приехал в Эдмонтон в 1991 году, чтобы провести дружеские матчи с «Шинуком», Шеффер был поражён, что чемпион мира согласился сыграть с его компьютером просто для развлечения.

Двое мужчин устроились у него в офисе и матчи начались. Шеффер ходил за «Шинука», и вводил ходы в систему. Первые девять игр окончились ничьей. В десятой игре «Шинук» работал, как обычно, отслеживая ходы на 16–17 шагов вперёд. Он сделал ход, в котором у него должно было быть небольшое преимущество. «Тинсли сразу же сказал: ‹Ты об этом пожалеешь›, – говорит Шеффер. – В то время я думал, откуда он, чёрт возьми, знает, что может пойти не так?» Но на самом деле с того момента Тинсли начал выигрывать. «В своих заметках по поводу этой игры позднее он писал, что предусмотрел все ходы до самого конца игры и знал, что победит», – писал Шеффер.

Этот момент запал в память программисту. После матча он запускал симуляции, чтобы понять, что пошло не так. Он обнаружил, что с того хода и до конца игры, если бы обе стороны играли идеально, компьютер всё равно проиграл бы. А следующее его открытие ошеломило его: чтобы понять это, компьютеру или человеку пришлось бы просчитать на 64 хода вперёд.

«Я был просто потрясён, – сказал мне Шеффер. – Как можно соревноваться с тем, чьё понимание игры настолько глубоко, что он сразу же, благодаря опыту или знанию или какому-то удивительному поиску, что выиграет?»

Шеффер до сих пор пытается разобраться в невероятном умении Тинсли. Когда он написал свою книгу об этой истории, «На один прыжок впереди» [One Jump Ahead], то получил письмо от профессора, курировавшего Тинсли во время учёбы. По словам Шеффера, там было написано, что «он был исключительно талантливым человеком и способным на одну гениальную вещь. И это не были шашки, он, вероятно, был бы гениальным математиком».

Когда мотивацией человека служат не слава или деньги, нам, видимо, требуется какое-то объяснение его действий более высокого уровня, поиск какого-то эмоционального двигателя, которого нет у всех остальных. Лучше всего Тинсли описал свою мотивацию в статье в Philadelphia Inquirer от 1993 г. Он был интровертом, который «не чувствовал любви» родителей, которые, как он считал, сфокусировались на его сестре. Чтобы завоевать их одобрение, он участвовал в соревнованиях по математике и правописанию. «И, словно изогнутая, но выросшая ветка, я рос, и продолжал чувствовать себя точно так же».

  • * *

Необходимость быть исключительным подвигла Тинсли на поступление в колледж в 15 лет, где он встретился со страстью, которая будет доминировать над его жизнью. Первый свой международный титул он выиграл в 1955 году.

А в 1992 году он согласился поставить на кон свой титул чемпиона в первом международном чемпионате людей и машин против «Шинука». Матч, проходивший в Лондоне, спонсировала компания Silicon Graphics. «Я могу выиграть», – сказал Тинсли The Independent. «Мой программист был лучше, чем у „Шинука“. У того был Джонатан, а у меня – Господь».

Две недели, предшествовавшие этому событию, ещё один игрок мирового класса, Дон Лафферти, тренировался с ним в Таллахасси, обсуждая матчи и пересматривая позиции до глубокой ночи.

Игры 1992 года проходили в отеле Парк-Лэйн, в котором проводились международные чемпионаты по шахматам, а также компьютерная олимпиада, ставшая дебютом «Шинука» два года назад. Комната была большой и двухэтажной, с балконом, с которого было видно игроков, и с компьютером, размером с холодильник, на котором работал «Шинук».

Шеффер и Тинсли сидели друг напротив друга, а на большом экране изображались движения фигур. Первую кровь добыл Тинсли, обыграв «Шинука» в пятой игре. Но в восьмой игре «Шинук» вырвал потрясающую победу – это было шестое поражение Тинсли за 40 лет.

Несмотря на годы тяжёлого труда и мечты об успехе, Шефферу в тот момент стало грустно. «Мы всё ещё – члены человеческой расы, – писал он в своей книге, – а то, что „Шинук“ победил Тинсли в одной игре, значит, что преимущество компьютеров в шашках, а потом и в других играх – лишь вопрос времени». Шеффер, возможно, и выиграл, но человечество проиграло.

После серий ничьих «Шинук» снова выиграл в 16-й игре. Ни один живой игрок не обыгрывал Тинсли дважды. Удивительно, и почти невероятно – но ПО опережало человека. Они были на грани создания компьютерной истории.

Затем произошло событие, которое Шефферу всё ещё больно описывать. У «Шинука» произошла какая-то ошибка, из-за чего из игры пришлось выйти. «Тинсли решил, что Бог ему помогает, – сказал Шеффер. – Это было религиозное переживание для Тинсли, и один из самых разрушительных моментов моей жизни».

Шеффер и «Шинук» не смогли вновь одолеть человека. Тинсли выиграл матч и сохранил свой титул.

«Если здоровье меня не подведёт, то не думаю, что появится компьютер, способный меня обыграть», – сказал Тинсли CNN после матча.

  • * *

И всё это привело к встрече 1994 года в Бостоне.

Вначале «Шинук» играл Дерека Олдбери и побил его. Вскоре после этого Олдбери умер. «Шинук» играет с Олдбери. «Шинук» обыгрывает Олдбери. Олдбери умирает, – шутил Тинсли в беседе с Шеффером. – Он, наверно, умер от шинукита!"

Но Шефферу было не смешно. Он был молодым человеком, программировавшим компьютеры, игравшие в игру стариков. Лучшие игроки вымирали. И, с точки зрения некоторых представителей мира шашек, не подобало этому юнцу со своими модными машинами и кодом побивать слабых мастеров.

Взрослея, Шеффер думал о том, что хотел бы лучше узнать Тинсли за то время, пока они общались. «Я вспоминаю время, проведённое с Марионом Тинсли. Я тогда не отдавал себе отчёт, как быстро оно пролетит и как мне понравится. Я не воспользовался этим, не пожинал плоды тёплой и глубокой нашей с ним дружбы, – сказал он мне. – Я вспоминаю, и задним умом могу сказать, что разочарован собой. Хотел бы я сделать всё по-другому, но в то время, когда ты одержим, ты можешь видеть только в одном направлении».

Даже рассказывая о том, как он вёз Тинсли в больницу, Шеффер не может избавиться от идеи, что болезнь старика может помешать ему одержать победу. Тинсли говорит: «Я готов уходить», а Шеффер остаётся сбитым с толку. Старик знал, что умирает, а молодой этого не понимал.

После самоотвода Тинсли, Дон Лафферти занял его место и бился с компьютером, но Шеффер был сосредоточен на более крупном призе, на решении шашек. Шеффер утверждает, что игроки в шашки начали презирать его. Они отправляли ему письма, где ругали его и его ПО. Он выпустил книгу «На один прыжок впереди» в 1997, и всё равно шашисты продолжали атаковать его.

С 1997 по 2001 он приостановил работу над проектом, подразумевавшим создание компьютерной программы, всегда знающей, какой шаг будет правильным. Такая программа должна стать непобедимой. Идеальной.

Когда он вернулся к нему, его команда расширила базу данных окончаний игр – идеальное знание «Шинука» – до любой ситуации, в которой на доске было не более десяти фигур. Это 39 триллионов позиций.

Они продолжали улучшать стратегию поиска «Шинука», позволявшую им выполнять малую долю вычислений, необходимых для подсчёта всех возможных позиций в игре. Шефферу пришлось задействовать компьютеры со всего мира, обучиться параллельным вычислениям. Он собирал машины отовсюду, от Швейцарии и до Национальной лаборатории Лоуренса Ливермора, основного набора оборудования, принадлежавшего Министерству энергетики, которое часто обсчитывает симуляции ядерного оружия.

«Там у кого-то ещё работала программа под названием BOMB, а я запускал шашечные программы, – рассказал мне Шеффер. – Это было очень странно. Служба безопасности должна была заинтересоваться этим». Они и заинтересовались. Они пришли к нему с вопросами, обнаружив, что гигабайты данных идут из национальной лаборатории в город Эдмонтон штата Альберта.

Годами компьютеры работали, как работали машины Сэмюэла до них. Как будут работать машины DeepMind. Эти интеллектуальные навыки были узкоспециализированными, но они были частью длинной истории разработки ИИ, который должен произвести революцию при жизни текущего поколения.

Шеффер считал, что его работа была завершением первоначальной мечты Сэмюэла. После успеха на чемпионате США в 1990-м он связался со старым IBM-овцем, чтобы поделиться с ним новостями. Но получил дурную весть: Сэмюэл недавно умер. Он был одним из самых старых программистов, всё ещё продолжавших работать. Он родился в Эмпории, штат Канзас, в 1901 году, а последний раз залогинился в компьютерную сеть Стэнфорда в феврале 1990-го. Он был свидетелем распространения электричества, выпуска Модели Т, двух мировых войн, полёта человека в космос и первых признаков машинного интеллекта.

Наконец, в 2007-м Шеффер смог провозгласить в журнале Science, что после работы над шашками в течение 19 лет он решил эту игру. Прямой поиск встретился с базой данных окончаний игр где-то посередине, будто трансконтинентальная железная дорога ИИ, золотым костылём которой стала публикация статьи. Его команда обработала последовательности для 19 из 300 турнирных дебютов, но оказалось, что этих 19 было достаточно для того, чтобы доказать – игра, в которую играют идеально, заканчивается ничьей.

  • * *

Шашки продолжают жить. Спорт официально завоёван компьютерами, но волна ИИ с тех пор перешла на более сложные задачи, и оставила людей сражаться друг с другом в таких местах, как Ханисакл Инн или Конферес-центр в Брэнсоне, Миссури. Проводятся турниры и чемпионаты, выдаются денежные призы. Группа молодых итальянцев стремится к всемирному доминированию.

Шеффер считает, что отложил шашки в сторону. Он работает над книгой истории компьютерных шахмат, которая выйдет позже в этом году. Он декан в Университете Альберта. «Я пытался двигаться дальше, изгнать некоторых призраков из истории, но они продолжают возвращаться, – говорит он мне. – Наверное, они будут частью меня, пока я не умру».

Но до того момента у него есть ещё одна незавершённая задача из области шашек. «Я бы хотел совершить паломничество в Огайо и повидать его могилу», – говорит Шеффер.

Могила отмечена простым надгробием: Марион Ф. Тинсли. В правом верхнем углу – шахматная доска. В левом верхнем – изречение из Писания, «Послание к Евреям, 13:11: Братолюбие между вами да пребывает». И далее: «Страннолюбия не забывайте, ибо через него некоторые, не зная, оказали гостеприимство Ангелам» [любви к незнакомцам – прим. перев.].

Представьте Шеффера, бывшего когда-то одним из тех незнакомцев, завершающего своё паломничество и смотрящего вниз на эту могилу, будто в колодец. Для Тинсли, спиритуалиста, метафора шашек как колодца без дна была поэтичной и правдивой. Но Шеффер, инженер, знает, что не бывает бездонных колодцев. И люди всегда будут провозглашать их глубину.

Пожалуйста, оцените статью:
Ваша оценка: None Средняя: 5 (9 votes)
Источник(и):

geektimes.ru