Разное

Расставить позицию в шахматы: Расставить шахматную позицию — редактор FEN

Ходы в шахматах — как правильно записывать?

Поможем развить память, логику и концентрацию, играя в шахматы

Начать учиться

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

Что такое нотация в шахматах

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

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

Как записывать положение фигур во время партии в шахматы

Чтобы разобраться в нотации, давайте сначала взглянем на шахматную доску. Горизонтали на ней обозначены цифрами от 1 до 8, а вертикали — буквами от a до h. Каждая клетка имеет свои координаты — точку пересечения этих линий на поле.

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

Давайте разберемся на примере.

На этом поле расставлены 6 фигур. Их координаты будут такими:

  • пешка: b2;

  • слон: f1;

  • конь: c4;

  • ладья: h4;

  • ферзь: d7;

  • король: h2.

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

Как читаются буквы в шахматах

Теперь давайте правильно запишем расстановку фигур на поле из примера выше. Она будет такой:

  • пешка: b2;

  • слон: Сf1;

  • конь: Кc4;

  • ладья: Лh4;

  • ферзь: Фd7;

  • король: Крh2.

Заметьте: для пешки обозначение принято опускать, поэтому запись ее положения не изменилась.

Как записывать ходы в шахматах

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

Стрелочками на картинке показаны 4 варианта, как может пойти ладья. Давайте запишем в нотации каждый из них:

  • Лg2—Лg1,

  • Лg2—Лh3,

  • Лg2—Лa2,

  • Лg2—Лg8.

Теперь разберемся, как отметить взятие фигуры во время хода. Для этого, по правилам ФИДЕ, принято использовать крестик (x), также изредка можно встретить двоеточие (:). Давайте запишем, как белая ладья на диаграмме ниже съест пешку на g7.

Запись ходов для такой ситуации в шахматах будет выглядеть так: Лg2xg7 или Лg2:g7.

Когда ход сделан, игрок может добавить к записи в нотации комментарий. Для них тоже есть свои обозначения. Так, хороший ход отмечают восклицательным знаком (!), а очень хороший — двумя (!!). В то же время плохой ход можно отметить вопросительным знаком (?) или двумя (??). Теперь — к примеру.

На картинке обозначены два хода, их можно записать так:

  1. Сf1—Сc4

  2. Кg8—Кf6??.

Знаки «??» тут говорят о том, что Кg8—Кf6 — это очень плохой ход, который может обернуться проигрышем черных в партии.

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

Предположим, что наша пешка решила превратиться в ферзя, и запишем ход: e7—e8Ф.

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

Если в результате хода игрок ставит сопернику шах, закончить запись нужно знаком плюс (+). Проработаем это на примере.

На этой картинке ладья черных объявляет шах белому королю. Записать это можно так: Лe4—Лe1+.

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

На картинке черный король в безвыходной ситуации: белая ладья объявляет ему мат. Записать это нужно так: Лd1—Лd8#.

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

  1. Сначала записывают позиции белых фигур, а затем черных.

  2. Запись позиций на поле ведут от ферзевого фланга к королевскому.

Давайте запишем позиции фигур на картинке.

  1. Белые: Крa1, Сa3, Лd1, Фd3, Лg2, Кh5, пешки b3, c2, f3.

  2. Черные: Кa2, Сd5, Фf4, Лf7, Лf8, Крg8, Сh3, пешки a6, b7, f6, g7, h7.

Если подвести итог, то игрок может сделать запись любого хода партии в шахматы по такому алгоритму:

  1. Номер хода.

  2. Обозначение фигуры (кроме пешки).

  3. Знак хода или взятия.

  4. Точка назначения на поле.

  5. Знак комментария к ходу, если нужен.

  6. Знак шаха, если нужен.

  7. Обозначение фигуры, если было превращение пешки.

  8. Знак мата или ничьей, если нужен.

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

Как обозначаются ходы в шахматной нотации

Ход
Взятие
х
Короткая, длинная рокировка
0—0, 0—0—0
Плохой ход
?
Очень плохой ход
??
Хороший ход
!
Очень хороший ход
!!
Сомнительный ход
?!
Обратить внимание на ход
!?
Шах
+
Мат
#
Ничья
=

Практикующий детский психолог Екатерина Мурашова

Бесплатный курс для современных мам и пап от Екатерины Мурашовой. Запишитесь и участвуйте в розыгрыше 8 уроков

Чем отличается полная шахматная нотация от краткой

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

В краткой нотации 4 варианта хода ладьи пишутся так:

  • Лg1,

  • Лh3,

  • Лa2,

  • Лg8.

Это сделано для экономии времени в шахматах, ведь по записи предыдущего хода партии и так будет понятно, на какой клетке стояла фигура. Тогда взятие, которое мы уже рассмотрели выше, можно записать так: Лxg7+.

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

Ход ладьи на первой диаграмме запишем так: Лge2+. Ход ладьи на второй диаграмме: Л5d4+.

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

Закрепим на примере. Так выглядит запись одной из самых коротких партий на свете — детского мата:

  1. e4 e5

  2. Cc4 Кc6

  3. Фh5 Кf6

  4. Фf7#.

Проверьте себя

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

Рисунок № 1
Рисунок № 2

Нотация — особый язык шахмат — здорово упрощает жизнь игрокам. Если вашему ребенку интересен этот спорт, на курсе для детей в Skysmart можно научиться играть в шахматы и узнать, как записываются ходы. Уроки с преподавателем помогут выучить новые тактики, поднять уровень игры и подготовиться к турнирам.

Алёна Федотова

Автор Skysmart

К предыдущей статье

Шахматные часы

К следующей статье

Пат

Получите до 3 бесплатных уроков по шахматам при первой оплате

На вводном уроке с методистом

  1. Подберём тренера под ваши пожелания

  2. Подарим до 3 бонусных уроков, если купите от 8 занятий сразу

  3. Определим уровень и выберем программу обучения

как ChatGPT играет в шахматы / Хабр

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

Предисловие.

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

Небольшой исторический экскурс.

Вообще, на заре становления компьютерной техники самым главным катализатором возможностей компьютеров в сравнении с человеком были шахматы. Оно и понятно — простые правила, огромное количество возможных вариантов развития партии, компьютеру сложно «смухлевать» и иметь явное преимущество перед человеком. Так одним из самых знаковых ЭВМ для игры в шахматы можно считать Deep Blue. На тот момент это был шахматный суперкомпьютер, разработанный в IBM. Первая его версия в феврале 1996 года потерпела поражение от Гарри Каспарова со счётом 2 : 4. Эта была великолепная игра и проявление гения Каспарова. Он понимал, что хоть компьютер и умеет просчитывать варианты на десятки ходов вперед, он имел большой изъян — не умел понимать шахматную стратегию и вести грамотную позиционную игру, особенно если свернуть партию с известных дебютных троп. Лично мне особенно запомнилась последняя, шестая, партия из того противостояния.

Обзор шестой партии противостояния Г. Каспарова и Deep Blue

Увы, это была последняя успешная игра против шахматного компьютера, ведь всего лишь год спустя была представлена общественности обновленная вторая версия шахматного суперкомпьютера, которая оказала сопротивление Г. Каспарову и взяла реванш за младшего брата, закончив игру со счетом 3½ : 2½ в пользу Deep Blue. После этого было много шума, Каспаров обвинял IBM в жульничестве и нечестной игре, давлении, просил переигровки, но это не имело по большому счету большого значения — было очевидно, что это только начало революции компьютеров в шахматном мире, технологии развивались стремительно и, если уже в 1997 году суперкомпьютер мог обыграть самого сильного шахматиста мира, то с каждым обновлением ЭВМ, с увеличением производительности, новыми алгоритмами шансов у человека против них не оставалось.

До 2017 года в мире шахмат все было спокойно и размерено. Существовали различные шахматные движки, которые умели анализировать позиции, правильно расчитывать угрозы и делать немыслимое погружение во все возможные варианты на десятки ходов вперед, что естественно не под силу человеку. В помощь движкам добавили дебютную базу (несколько первых ходов игроков, которые определяют ход всей дальнейшей партии), а также использовали эндшпильные таблицы Налимова, которые позволяли компьютеру в конце игры практически моментально и точно просчитывать исход игры со 100% точностью. Самым сильным из всех движков был Stokfish, и с ним не то что человек не мог потягаться, с ним не могли на равных тягаться даже другие движки и шахматные системы.

Но в 2017 нейросети начали просачиваться в повседневную жизь. Компания DeepMind представила миру свое детище — AlphaZero. Программа, основанная на нейронных сетях, после всего лишь 24 часов самообучения просто разгромила самый сильный компьютерный движок. Из 100 игр с нормального начального положения AlphaZero выиграл 25 партий белыми, 3 чёрными и свёл вничью оставшиеся 72. Просто, без шансов.

И вот сейчас в 2023 году нейросети просто везде, где только можно. Чего стоит добавление ChatGPT в Bing. Мне стало очень интересно, умеет ли ChatGPT играть в шахматы и какова его сила на текущий момент.

Подготовка к игре в шахматы с ChatGPT.

Я честно признаюсь, что ожидал безумно интересной игры от ChatGPT. Конечно стоит понимать, что все таки это не шахматный движок, что он не заточен под эту игру, но все же, это нейросеть и неизвестно чему именно ее обучали разработчики. С учетом ее возможностей в сфере программирования и решения задач с литкода в частности, а также всего исторического шахматного контекста и колоссального объема данных для обучения в открытом доступе, я готов был к разгрому. Я не профессиональный игрок, в шахматы играю во время перерывов между изучением .NET среды, но я знаю, как можно сгладить углы. Во-первых, я решил, что неплохо было бы для начала визуализировать игру. Я не гроссмейстер, который способен держать партию в голове, поэтому для простоты зашел на lichess.org и решил что именно здесь буду играть против чата. Затем планировал включить встроенный движок, чтобы попробовать поднять свой скилл, заодно посмотреть как чат будет справляться с умным интеллектом. Ну и в дальнейшем хотел глянуть, будет ли чат со мной импровизировать, или разыграет какую-нибудь известную ему позицию из базы шахмат. Вооружившись инструментарием я ринулся в бой.

Как играет в шахматы ChatGPT.

Итак, начнем наше с ним знакомство

Hello! Can you play in chess?

> Yes, I can play chess! Would you like to play a game with me now?

Yes

> Great! I’ll start the chessboard. What type of game would you like to play? A casual game or with specific rules such as time controls?

Casual game

> Understood, a casual chess game it is! I’ll make the first move as white.

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

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

[Event "Casual Chess Game"]
[Site "OpenAI"]
[Date "2023.02.10"]
[Round "1"]
[White "ChatGPT"]
[Black "User"]
[Result "*"]

1. e4

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

Позиция по дебюту

Нотация:

  1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 Bc5 5. O-O O-O

Миттельшпиль.
Глянув в движок, я понял, что поспешил с короткой рокировкой и имею уже хуже позицию (оценка +1,3). Я напрягся, ожидая постепенной реализации этого преимущества, но шестой ход меня очень смутил. Но да ладно, подумал я, возможно есть какая-то тактика или хитрость, попробуем продержаться… или может быть схитрим? Мне стало дико интересно, что будет, если указать заведомо невозможный ход.

> It’s my turn again, I’ll play 6. c3. Your move!

d4.

Визуализация ходаd4 — невозможный ход в данной позиции

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

> Here’s the updated PGN:

csharpCopy code[Event "Casual Chess Game"]
[Site "OpenAI"]
[Date "2023.02.10"]
[Round "1"]
[White "ChatGPT"]
[Black "User"]
[Result "*"]
1. e4 e5
2.  Nf3 Nc6
3. Bb5 Nf6
4. d3 Bc5
5. O-O O-O
6. c3 d4

> I’ll play 7. exd5. Your move!

Мы как истинные джентельмены не стали пользоваться невнимательностью чата (а то так можно и мат заочно поставить в два хода), поэтому поинтересовались у чата, возможен ли такой ход, который мы указали:

how are you thinking, my last move «d4» is possible?

> I apologize for that mistake. The move d4 by Black is illegal as it would put the Black king in check. In this position, the Black queen bishop on c5 is attacking the white queen, so moving the d-pawn would put the king in check. A player is not allowed to make a move that puts or leaves their own king in check.

> Here’s the corrected PGN:

csharpCopy code[Event "Casual Chess Game"]
[Site "OpenAI"]
[Date "2023.02.10"]
[Round "1"]
[White "ChatGPT"]
[Black "User"]
[Result "*"]
1. e4 e5
2. Nf3 Nc6
3. Bb5 Nf6
4. d3 Bc5
5. O-O O-O

> My turn again, I’ll play 6. c3. Your move!

Странный ответ. С одной стороны он прав, что такой ход невозможен, только вот причина совершенно другая — пешка не может ходить на 3 клетки вперед. Осадочек остался, но продолжим дальше. И тут еще один звоночек: чат, выдавая абсолютно правильную нотацию, стал «забывать» контекст. На восьмом ходу он очень хотел 8. Nc3, да вот незадача — эта клетка занята его же пешкой. И так сильно хотел этот ход, что пришлось у него три раза спрашивать, уверен ли он в таком ходе и возможен ли он, на что он говорил, дескать, да, ошибочка, извиняюсь — и снова пытался сделать этот же ход. Очень странно

> It’s my turn again, I’ll play 8. Nc3. Your move!

How is possible, your sixth move is c3

> I apologize for that mistake. You are correct, my previous move was 6. c3.

> I’ll play 8. Nc3. Your move!

Wait a moment, on c3 your pawn after your previous moves

> I apologize for the confusion. Yes, you are correct. My previous move was 6. c3, and the pawn on c3 is a white pawn.

> I’ll play 8. Nc3. Your move!

Its illegal move, because c3 hold your pawn

> I apologize for the error. You are correct, the move 8. Nc3 is illegal because it would put the knight on a square that is already occupied by a pawn. In chess, a player is not allowed to move a piece to a square that is already occupied by one of their own pieces.

> I’ll play a different move, 8. d4. Your move!

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

К десятому ходу случилось немыслимое — чат просто так отдал фигуру. Оценка уже -7, что означает позиция за белых просто безнадежно проигранная. И это практически в самом начале игры
Нотация:

1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 Bc5 5. O-O O-O 6. c3 d5 7. exd5 Qxd5 8. d4 exd4 9. Nxd4 Bxd4 10. cxd4 Qxb5

Позиция и оценка

Целый лишний конь и оценка движка практически в -8. Это поражение. Уверен, что в таких позиция тренер Бет Хармон из сериала «Ход королевы» заставлял ее сдаваться.

После такого «трюка» стало ясно, что на самом деле ChatGPT в шахматы играть не умеет от слова совсем. Все что он умеет — делать вид, что умеет играть. То есть составлять нотацию по правилам, и никак не пытается понять правильность и возможность таких ходов. Это меня сильно насторожило. Шахматы — не самое главное, достаточно написать модуль для чата, который будет уметь играть в шахматы и чат научиться это делать превосходно, я уверен. Меня больше всего в этом удивил следующий момент: почему чат не понимает контекст? Ведь есть куча историй, как чат помогает в различных задачах, может верстать страницы, добавлять какую-то логику в уже имеющееся решение, дополнять какими-то элементами и многие уверены, что чат помнит весь контекст и умело его использует. С его помощью даже вот дипломы пишут, на секундочку. Но как оказалось, это не так. За 8 ходов чат не смог справиться с контекстом, в упор не видел своей ошибки и даже не признавал сразу, после того, как в нее указали, несмотря на то, что историю партии он выводит правильно.

Эндшпиль.
Дальше было хуже. К 12 ходу у чата началась деменция, он стал путать очередность хода и предлагал мне пойти второй раз

> It’s my turn again, I’ll play 12. Qf3. Your move!

Qxf3

>Here’s the updated PGN:

>It’s your turn again. What’s your next move?

I did Qxf3 after your 12. Qf3. Your move now

>Yes, I apologize for the mistake. After your move 12… Qxf3, it’s my turn again. I’ll play 13. gxf3. Your move!

Еще через два хода чат решил мне продемонстрировать, что знаком с классикой и стал косплеить Остапа Бендера из деревни «Васюки».

> It’s my turn again, I’ll play 14. Bg5. Your move!

My move is Nxf3+

> It’s my turn again, I’ll play 15. Kg2. Your move!

My move is Nxg5

> Here’s the updated PGN:

14. Bh5 Nxf3+
15. Kg2 Nxg5

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

Все ходы записаны

Пришлось выяснять отношения с чатом

You are playing white. Your 16. h5, i move .. Ne6. It’s your turn, 17th move

> Ok, I’ll play 17. Bf4. Your move.

You are don’t have a bishop after 14. Bg5. Nxf3+ 15. Kg2 Nxg5. Your 16 move is 16. h5, my move is Ne6.

> My move is 17. Bf4. Your turn.

In your notation mistake: Your 14 move was Bg5.

> My move is 17. Bf4. Your turn.

You are don’t have a bishop, your last move is illegal

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

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

Are you sure? Your 13. gxf3. Now you don’t have a pawn on g line

> I apologize, you are correct. After 13. gxf3, white no longer has a pawn on the g-file. The correct move would be 18. hxg5 instead.

18. hxg5 its illegal for you

> Yes, you are correct. My apologies for the mistake. The move 18. hxg5 is illegal because it would leave the king in check. The correct move would be 18. Nxg5

I don’t understand, how u can 18. Nxg5? Its move imposible for you

> I apologize for that mistake. You are correct, I cannot play 18. Nxg5 as I am playing the white pieces and the knight is black. The correct move for white would be 18. hxg5. Thank you for bringing this to my attention.

Are welcome. But make you sure, what you 18. hxg5 is possible? After 17. h5 Nxh5 you don’t have a pawn more.

> I apologize for the mistake. You are correct. After 17. h5 Nxh5, there is no longer a pawn on h5. I cannot play 18. hxg5. I’m sorry for the confusion.

Ok. what’s you move now?

> I apologize, but as an AI language model, I am not able to physically play chess. I can only generate text based on the information and prompt given to me. I can assist with providing information, analysis, and PGN notation for a chess game.

It’s mean what you are have defeat in this game?

> As an AI language model, I do not have the ability to win or lose a game of chess. I can only assist with providing information, analysis, and PGN notation for a chess game.

Лишь бы не признать себя побежденным…

Результат.
Какой итог можно подвести. Обыгрывать искусственный интеллект конечно приятно, но это не совсем тот случай. Понятное дело, что за нейросетями будущее и они в самом ближайшем времени будут внедряться в различные сферы и аспекты жизни. Мне было интересно поиграть с чатом в шахматы, чтобы оценить его силы в сравнении с имеющимся движками, проанализировать какими партиями он руководствуется, да и вообще планировал во время партии спрашивать о его ходах, ожидая анализа решений, что могло бы очень сильно помочь в изучении шахмат. Но стало грустно, когда пришло осознание, что по сути чат занимается имитацией деятельности, нежели реально эту деятельность ведет. И дело не в том, что он ужасно играл в шахматы — это неважно. Я понимаю, что в него банально не заложены правила игры, отсюда идет такая игра. Но! Есть одно огромное и важное, на мой взгляд «но». На самом деле чат не понимает контекст и не может дать в режиме реального времени оценку своим же решениям. Через 7 циклов обращений к нему он стал противоречить самому себе. Благодаря шахматам я это смог понять и поймал себя на мысли, что чат напоминает более прокаченную версию умной колонки или голосового помощника, который может блестяще справляться с простыми задачами и имитировать помощника-собеседника, но через несколько обращений подряд он уже не понимает, что от него хотят и как это сделать.

Вывод.
Вывод у меня получился двоякий. С одной стороны мне, как начинающему разработчику, было приятно видеть, что все таки чату очень и очень далеко для выдавливания ИТ специалистов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *