Спортивное программирование что это

Пропуск в мир ИТ: что такое спортивное программирование и зачем оно нужно

Заместитель директора Центра развития ИТ-образования МФТИ

Историю спортивного программирования отсчитывают с 1970 года, когда в Техасском университете (США) было проведено первое студенческое соревнование по программированию ICPC. В разное время спонсорами международных турниров становились технологические гиганты — IBM, Apple, Microsoft.

Сегодня ICPC — всемирное соревнование: в 2019 году в олимпиаде приняли участие около 50 тысяч участников из 110 стран. Рассказываем, как устроено спортивное программирование, какие у него есть перспективы и на кого оно рассчитано.

Что такое спортивное программирование

Сегодня популярность спортивного программирования растёт. Число участников чемпионата ICPC за 20 лет увеличилось на 2000%. Но что программирование имеет общего со спортом? Отсылка к спорту здесь не случайна — для достижения высоких результатов в состязании по алгоритмам необходимо потратить много времени на подготовку, решать задачи на скорость и работать в команде. То есть прилагать усилия и в свободное время тренироваться, чтобы на соревнованиях показать класс.

Алексей Малеев

Директор по дистанционным программам МФТИ

Можно участвовать несколько раз в год в разных соревнованиях и отслеживать свой профессиональный рост. Для участия надо знать базовые алгоритмы и иметь навыки программирования из университетских курсов, где-то требуется знание математики, чтобы придумывать более сложные алгоритмы или комбинации из них.

Главное участие, а не только победы

Как и в олимпийском спорте, на соревнованиях по программированию есть свои звёзды. Россия занимает лидирующие позиции в ряде соревнований: последние восемь лет наши студенты одерживают победы в Международном студенческом чемпионате ICPC.

Михаил Рубинчик

Бронзовый медалист Чемпионата мира 2011, тренер-преподаватель в УрФУ

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

Поэтому в спортивном программировании важно участие, а не победа. На первом месте массовый интерес к ИТ-сфере среди десятков и сотен тысяч участников. Такая практика помогает двигать вперед ИТ-индустрию, растить новые кадры.

Олимпиадное программирование — это карьерный трамплин

Современные ИТ-компании активно взаимодействуют с техническими вузами и организуют собственные образовательные программы по Computer Science. Так они ищут будущих талантливых сотрудников и делают вклад в развитие ИТ-образования.

Олимпиады по информатике для школьников сейчас достаточно массовое явление: тысячи ребят поступают в университеты по олимпиадам, не переживая за ЕГЭ. Олимпиадников охотно принимают не только в лучшие вузы, но и в ведущие технологические компании. Зачастую на собеседованиях разработчикам дают задания такого же уровня сложности или немного проще, чем на олимпиадах.

Михаил Рубинчик

Чтобы попасть в российский Яндекс или зарубежные Google или Facebook, нужно решать олимпиадные задачи, и именно поэтому выпускники олимпиадного сообщества оказываются в большом выигрыше. Можно долго спорить о том, какую пользу приносят навыки, наработанные в соревнованиях. Но мы видим, что и ведущие университеты и ведущие ИТ-компании единодушны в своём мнении о том, что таких ребят нужно брать на учёбу и работу.

Во сколько начинать, чтобы добиться успехов

Соревновательное программирование — не про силу, а про интеллект. Кажется, если не начать заниматься в младшей школе, путь в профессиональное сообщество будет закрыт — такой тренд диктует время.

Михаил Рубинчик

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

И все же пока школьное и студенческое сообщество спортивного программирования значительно активнее, и тем, кто хочет в него попасть, рекомендуют начинать кодить как можно раньше.

Алексей Малеев

Начинать учиться программированию (в том числе спортивному) можно с младшей школы. Есть много обучающих подходов для детей, простые учебные языки. Это полезно, так как развивает мозг, – и для этого не нужно обладать каким-то большим бэкграундом в математике и физике.

Чем раньше начать подготовку, тем более высоких результатов можно добиться.

Быстрее продвигаться в этом помогут различные курсы и программы, постоянные решения задач, участие в дистанционных чемпионатах на известных платформах – например, индийская CodeChef или российская Codeforces.

Что будет дальше

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

Алексей Малеев

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

Михаил Рубинчик

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

Фото на обложке: Shutterstock / Diana Grytsku

Источник

Спортивное программирование — социальный лифт в IT. Как его использовать школьнику, родителям школьника и разработчику?

С какого возраста можно обучать ребенка программированию и какой язык лучше выбрать? Как попасть на самые крутые IT-направления в лучшие вузы? Становятся ли дети разработчиков разработчиками? Как попасть на стажировку в Яндекс или на работу в Google?

Расскажи немного о себе. Как ты попал в спортивное программирование и почему остался в нем?

Все началось еще в детстве. В начальных классах я учился в деревенской школе и уже тогда очень любил решать разные загадки, задачки и головоломки. Я не знал, где их искать, но очень радовался, когда они попадались мне на глаза :)

В 5 классе я поступил в лицей №1 города Кунгур. Там было принято участвовать в олимпиадах по математике, и я стал ими заниматься. Так я попал в олимпиадную среду и остался в ней, потому что любил решать задачи.

В 9 классе я случайно зашел на кружок по программированию. Тренер (который был всего на 4 года старше меня) рассказал мне и моему однокласснику про спортивное программирование, и мы стали пробовать решать задачи. Получается, как участник я занимался спортивным программированием 9 лет: 3 года школы и 6 лет университета.

Почему я остался? Наверное, потому что мне всегда нравилось преподавать. В 10 классе я начал вести кружок по математике для 5-6 классов, а в 11 классе вел кружок по программированию. Даже когда я поступил в УрФУ и переехал в Екатеринбург, я продолжал ездить в свой лицей по выходным (4 часа на поезде в одну сторону!) и обучать школьников. Когда я был на третьем курсе, мои ученики поступили в УрФУ и я начал тренировать уже студентов. Сейчас я отошел от преподавания и ушел в менеджерскую работу, которая мне не менее интересна.

Расскажи о своей работе сейчас. Что ты делаешь общественно-полезного и чем занимаешься для себя?

Сейчас я занимаюсь двумя крупными проектами: развиваю спортивное программирование в УрФУ и свою онлайн-школу по программированию Sport Programming Guide (или путеводитель по спортивному программированию).

В УрФУ спортивное программирование по большей части бесплатно. Финансово нас поддерживает университет и спонсоры, первым из которых стал СКБ Контур. В компании поняли, что можно начать сотрудничать с университетом и создать на Урале институт спортивного программирования. Все начиналось с выплаты грантов (в частности, на мою зарплату тренера), а сейчас в Контуре есть целый отдел, занимающийся развитием спортивного программирования. Помимо Контура и УрФУ, нас поддерживают и другие местные компании: Naumen, Targem Games, Eastwind, ProSoft и т.д.

Еще один важный спонсор — фонд «Золотое сечение». Он существует под эгидой Министерства образования Свердловской области и поддерживает школьников. Вместе с фондом мы проводим олимпиадные лагеря для ребят из Свердловской области. Подробнее можно прочитать в группе Вконтакте. Проект преимущественно социальный, и можно сказать, что я его идейный лидер и архитектор этой системы :)

Второй проект — онлайн-школа спортивного программирования. Он не такой масштабный, и мы занимаемся им вместе с женой: она решает организационные задачи, а я методические. Наша школа — это команда преподавателей, завучей и не только. В отличие от спортивного программирования в УрФУ с лагерями, тренировками и кучей поездок, в школе все проще. Ученик с преподавателем в формате индивидуальных занятий (занятие в школе длится 1 час) обсуждают и решают задачи, готовятся его к школьным и студенческим олимпиадам. Еще в нашей школе можно подготовиться к собеседованиям в IT-компании — мы учим решать задачи, подобные тем, которые дают на собеседованиях.

Чем твоя школа отличается от онлайн-школ программирования без приставки «спортивное»?

Первые ученики появились у нас в 2016 году. Если бы тогда меня спросили, чем моя школа отличается от других, я бы ответил, что олимпиадному программированию кроме нас не учит никто. Сейчас ситуация изменилась, на рынке обучения программированию выделилось несколько крупных сегментов. Первый — школы промышленной разработки (Яндекс.Практикум, GeekBrains, Skillbox), которые ориентированы на взрослых учеников. Там учат языкам, конкретным технологиям и фреймворкам. Второй сегмент — онлайн-школы программирования для детей, где ребят помладше обучают визуальному программированию (типа Scratch), а более старшим ученикам преподают Python. Навскидку это школы вроде Кодиум, Kodland, Алгоритмика. Обучение языкам в них часто идет на стыке с робототехникой. Попыток бесшовного перехода от игрового программирования и изучения языка к промышленной разработке на рынке очень мало.

SPGuide отличается и от первых, и от вторых школ. Мы не ставим перед учениками цель выучить язык программирования, потому что непонятно, что делать дальше.

Игровое начало обучения у нас есть, но только для тех, кто пока не может программировать без игр. Затем мы плавно переходим на настоящие языки программирования и начинаем готовить учеников к олимпиадам и соревнованиям, параллельно изучая необходимую математику. Для младших школьников и тех, кто только начинает программировать, мы даем Python. После Python мы постепенно переводим ребят на C++ (или даем сразу его, если видим, что ученику “заходит”). Он не самый простой для изучения, но это самый быстрый из высокоуровневых языков, и в какой-то момент он занял нишу олимпиадного программирования. Примерно 80% всех решений на олимпиадах пишется именно на C++.

И C++, и Python изучаются в нашей школе на уровне базового синтаксиса. Мы считаем, что для решения задач ученикам полезнее знать алгоритмы, чем разбираться во всех структурах языка.

Как выглядит решение олимпиадной задачи?

Вам нужно написать код, который считывает входные данные с консоли и выводит выходные данные в консоль. Технологически это делается легко, нужен всего лишь экзешник или скрипт, который сделает все за вас. Сложность в том, чтобы быстро обработать считанные данные. Вы можете прочитать задачу и придумать программу, которая будет работать 100 лет, а вам нужно написать код, который будет работать 1 секунду. Олимпиада — это про то, как увеличить скорость выполнения программы. И в нашей школе, помимо игрового программирования, Python и C++, учат ускорять алгоритмы. Мы специализируемся именно на этом.

Где применить навыки решения олимпиадных задач?

Олимпиадные задачи встречаются в трех местах:

Школьные олимпиады — Всероссийская олимпиада школьников (самая крутая в стране) и олимпиады из перечня РСОШ (Российского совета олимпиад школьников). Победители и призеры этих олимпиад могут поступить в вуз без экзаменов или получить 100 баллов за ЕГЭ по профилю олимпиады.

Студенческие олимпиады, в основном турнир ICPC. Это командное соревнование, которое длится 5 часов. В течение олимпиады команда из 3 человек, сидящая за 1 компьютером, должна решить определенное количество задач. За каждую решенную задачу команда получает 1 балл. Чтобы участвовать в ICPC, нужно учиться в вузе и подходить по году рождения.

Собеседования в крупные IT-компании. Чтобы попасть на стажировку в Яндекс, нужно решить реальный контест с олимпиадными задачами. На собеседовании в Google и Facebook тоже дают подобные олимпиадным задачи.

Так получилось, что студенческие олимпиады не очень привлекательны с практической точки зрения. Конечно, на соревнованиях вас могут заметить интересные IT-компании и позвать на работу, да и в целом участие в ICPC можно воспринимать как тренажер для подготовки к собеседованию в компании с мировым именем. Но если вы хотите пройти на чемпионат мира, вам нужно иметь уровень гораздо выше, чем нужно для собеседования. И такие серьезные цели уже не коррелируют с практической полезностью «здесь и сейчас».

Давай остановимся на практической пользе подробнее.

Выгода от собеседования понятна. Вы получаете работу в компании, где мечтали работать вы и еще десятки тысяч ваших конкурентов.

У школьников тоже много выгоды. Во-первых, это поступление в университет. Призерам заключительного этапа Всероссийской олимпиады школьников даже ЕГЭ сдавать не надо, они и так могут поступить без экзаменов почти в любой российский вуз. Что же касается призеров РСОШ, то их поступление зависит от уровня олимпиады и баллов на ЕГЭ. Если призер РСОШ сдаст ЕГЭ по профилю олимпиады на 75 и более баллов, он поступит в университет без экзаменов. Но это работает не для всех олимпиад и университетов.

Поясню, как это происходит. Олимпиады РСОШ бывают 3 уровней: первого, второго и третьего. И каждый вуз сам решает, призеров каких олимпиад принимать без экзаменов. Один универ берет исключительно победителей олимпиад первого уровня, а призеров (не говоря уже о победителях и призерах второго и третьего уровней) уже не возьмет без экзаменов. Другой вуз возьмет победителей и призеров олимпиад первого уровня и только победителей второго. Есть вузы (и это 99% университетов страны), которые берут победителей и призеров всех трех уровней.

Конечно, многие школьники стремятся в “престижные” университеты, и поступить на ряд их специальностей без олимпиад невозможно. Самые популярные среди олимпиадников университеты — это МГУ, СПбГУ, МФТИ, ИТМО и ВШЭ.

Ты замечал какую-то зависимость: дети программистов становятся программистами?

Пока я знаю мало таких случаев, но думаю, что так и будет. Сейчас мы видим, что зарплата разработчиков в разы выше, чем средняя зарплата в стране. Любой родитель хочет, чтобы его ребенок был успешен, поэтому он по возможности будет влиять на ребенка и помогать ему добиваться высот. В том числе отдавать его на специальность, находящуюся на подъеме.

А кто приводит ребят к тебе в школу? Или они приходят сами?

Ко мне приходят даже взрослые разработчики, которые говорят: «Я крутой разработчик, у меня все хорошо. Но я хочу в Google/Facebook, а для этого требуется подучить алгоритмы». Такие люди учатся у нас, успешно проходят собеседования и остаются благодарны школе.

К примеру, у нас учился Илья Щукин. Он жил в Тель-Авиве, работал в местной IT-компании и целый год пытался попасть в Google, но никак не получалось. После полугода обучения в SPGuide он прошел отбор.

Но в основном мы, конечно, ориентируемся на школьников. Их можно условно разбить на две категории:

Олимпиадники, которые хотят побеждать на соревнованиях. Они уже знакомы со спортивным программированием и участвуют в олимпиадах, но не так успешно. Ребята постарше (примерно 9 класс) в основном приходят в школу сами, более младших олимпиадников приводят к нам родители.

Ребята, которые никогда не участвовали в олимпиадах и хотят заниматься программированием или олимпиадной информатикой. Таких ребят обычно приводят родители.

Для всех ребят мы проводим вводное ознакомительное занятие. Олимпиадников знакомим со школой, показываем нашу платформу, решаем задачи, чтобы посмотреть исходный уровень. Ребятам, которые только хотят участвовать в олимпиадах, также рассказываем о плюсах, минусах и вызовах, которые стоят перед олимпиадниками. Плюсы я уже называл выше (поступление в крутой вуз без экзаменов), а про минусы обычно говорим так: «Ребята, придется пахать. Если вы придете к нам и будете ждать, что преподаватель занесет знания в ваш мозг — ничего не получится. Толк появится, только если вы постоянно будете решать задачи самостоятельно”.

Сколько времени в неделю нужно уделять решению задач, чтобы добиться успехов?

Я понимаю, что людям всегда хочется получить точный ответ в часах, но, к сожалению, я не могу его дать. Расскажу, какие факторы влияют на затраты времени и результат.

Во-первых, имеет значение возраст, в котором ученик начал заниматься олимпиадным программированием. Например, человек без опыта математики и программирования приходит к нам летом после 9 класса и говорит, что хочет стать призером Всероссийской олимпиады. В этом случае я скажу, что нужно жестко пахать — около 40 часов в неделю. Даже так: я отвечу, что не уверен, что у него получится стать призером Всероссийской олимпиады, даже если он будет пахать по 40 часов в неделю. Потому что 2 года в таком случае — это очень мало, учитывая то, что первые этапы Всероссийской олимпиады начинаются осенью, и у этого школьника есть всего 1 год на подготовку и 1 шанс стать призером (уже в 11 классе).

Есть более реалистичные цели, например, стать призером олимпиады 3 уровня. С нормальной школьной подготовкой по информатике и математике можно спокойно прийти к этой цели за 2 года, занимаясь 10 часов в неделю.

Во-вторых, эффективность занятий зависит от особенностей ученика. Кто-то более усидчивый, кому-то легче даются алгоритмы. Мы не раз наблюдали, как разные ученики достигают очень разных результатов за 1 час занятия.

Хайповый вопрос: зависит ли результат от пола?

Нет. В этом вопросе я феминист. Если от пола что-то и зависит, то только по социальным причинам. Когда родители (учителя, друзья) говорят девочке, что программирование — это для мальчиков, у нее пропадает мотивация, снижается уверенность в себе и результаты становятся хуже. Хотя для для некоторых девчонок это становится вызовом, они думают: «Я вам покажу, что тут не женское дело!» и добиваются успехов.

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

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

Тоже очень острый вопрос!

Думаю, можно ответить не про программирование, а вообще про все. Ребенку должно быть интересно. Если ребенку интересны танцы, ему надо заниматься танцами. Если интересно программирование, нужно заниматься программированием. Вопрос в том, как понять, ЧТО нравится ребенку и не перепутать его желания со своими. Потому что если родитель хочет, чтобы ребенок стал программистом, а у ребенка нет к этому склонности и желания, шансы очень маленькие. Можно потратить кучу нервов и денег и сделать из ребенка программиста, но будет ли он счастлив?

Если вы заметили, что ребенку в первом-втором классе интересно решать математические задачки, попробуйте привести его на кружок по визуальному программированию. Увидите, что глаза горят — значит, можно попробовать что-то посложнее. Главное — поддерживать и направлять, а не навязывать.

Какой идеальный путь должен пройти юный программист, чтобы в будущем легко найти работу по душе?

Я думаю, оптимальный сценарий — поступить в как можно более сильный университет. Сейчас популярно мнение, что вуз — это просто корочки, на которые можно забить, но я знаю немало IT-направлений в российский вузах, где отлично учат разработчиков и дают практически полезные знания. Я сам приложил руку к ФИИТ УрФУ и знаю, что даже в регионах есть сильные вузы и направления.

Главная цель в школьном возрасте — попасть на одно из таких направлений. Чтобы попасть, нужно участвовать в олимпиадах. И преимущество тут у того, кто начинает заниматься раньше. Общая рекомендация: как можно раньше начинайте учить Python — это самый простой язык для обучения. Если не получается, начните с чего-нибудь визуального, а потом переходите на Python.

Я думаю, что это не шанс, а возможность. Спортивное программирование — это социальный лифт в программирование вообще. Есть вопрос «Как стать программистом?» и есть 1000 разных ответов, каждый из которых имеет свои нюансы и особенности. Но если вы пришли в спортивное программирование, то вы вне сомнения сможете стать программистом.

Три основных навыка, которые вы тренируете у ребят в школе?

Я даже не буду называть три, потому что есть один самый главный. Это умение думать и рассуждать. Важно то, как мы это делаем.

Есть классический способ обучения всему и везде: прочитать лекцию и дать задачки. Мы считаем этот подход плохим. Потому что лекция — это пассивное восприятие информации. А мы «топим» за активное восприятие. Поскольку наши занятия проходят один на один, мы имеем возможность дать ученику задачу на тему лекции еще до лекции. А потом намекать, подсказывать так, чтобы он нам рассказал, как эту задачу решать, а не мы ему. Мы его только подталкиваем в тех местах, где сложновато. Если очень сложно, мы говорим: «Давай отложим тему и обсудим задачу попроще, а к этой вернемся потом».

Расскажи пару впечатляющих историй про своих учеников из серии «было/стало»

Про Илью Щукина я уже говорил. А вот общий формат изменений будет полезно описать.

Иногда бывает так. Человек приходит и говорит, что был в куче лагерей, прослушал 1000 лекций, проходил онлайн-курсы, знает вообще все темы, которые нужны, чтобы стать чемпионом мира, но с олимпиадами у него не складывается. Это классический портрет человека, пришедшего к нам «с опытом». И все его лекции, курсы и лагеря сработают только тогда, когда у него будет достаточно практики. Поэтому мы учим через практику, помогаем перейти от «я понимаю» к «я умею». Именно это изменение происходит с учениками в нашей школе.

Расскажу про еще один тип историй, которые всегда меня радуют. Приходит человек, который вообще не умеет программировать. Он даже не понимает, что такое переменная. Не в математике, а в программировании. Он не знает, как сложить два числа и вывести на экран. А через пару лет смотришь, а он участвует в олимпиадах и решает базовые задачи. Да, он пока не призер, но эта метаморфоза настолько мощная, что очень меня радует.

Ты упомянул, что спортивное программирование — социальный лифт, который поможет попасть в престижный вуз. Что ты посоветуешь ребятам, у родителей которых нет денег, чтобы заниматься в твоей школе?

Тоже классный вопрос. Тут все зависит от мотивации школьника. История примерно такая:

Если у родителей нет денег, а у ребенка мотивации — ничего не получится.

Если у родителей есть деньги, а у ребенка нет мотивации нет — сделать из него олимпиадника можно, но сложно (дорого и нервно для всех участников процесса).

Если у родителей нет денег, но у ребенка есть мотивация — это неплохой сценарий, и ничего страшного в нем нет!

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

Можете поискать различные олимпиады школьников в своем регионе и поучаствовать в них. На олимпиадах можно встретить единомышленников, с которыми можно обсуждать различные задачи и делиться знаниями.

В нашей группе ВКонтакте мы выкладываем статьи, в которых даем советы по обучению олимпиадной информатике. Заходите, читайте, узнавайте полезную информацию.

В общем, если есть желание, возможности найдутся :)

В заключение

Мы благодарим Михаила за интервью. Надеемся, оно показало вам, как работает система олимпиад по информатике и соревнований по спортивному программированию, и как вы можете эту систему использовать. Если у вас есть вопросы Михаилу, можно писать ему сюда.

Также благодарим Михаила за помощь в организации RustCon Contest 2021 — онлайн-соревнования по решению задач на языке Rust. Кому интересен Rust — welcome в чат RustCon Russia.

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • Спортивное программирование что это такое
  • Спортивное программирование с чего начать
  • спортивное право магистерская программа
  • Спорт microsoft corporation что это за программа
  • спонсоры программы что где когда

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии