Блог пользователя lperovskaya

Автор lperovskaya, 10 лет назад, По-русски

Приглашаем вас в квалификационный раунд Яндекс.Алгоритма, который начнется 25 мая в полночь. Присоединиться к нему можно в течение 24 часов с момента начала. Квалификация продлится 100 минут.

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

Если вы уже прошли в отборочный этап из разминочного раунда, но хотите потренироваться -- добро пожаловать!

Удачи!

  • Проголосовать: нравится
  • +61
  • Проголосовать: не нравится

»
10 лет назад, # |
  Проголосовать: нравится +17 Проголосовать: не нравится

Квалификация началась! Успехов!

»
10 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится

I have a question:

From the Rule, "If a problem is solved with a “blind” submission, the total penalty time is decreased by n seconds, where n = ((number_of_contestants_who_did_not_solve_this_problem) × (contest_length_in_seconds)) ÷ (total_number_of_contestants)."

Who will be counted as "number_of_contestants_who_did_not_solve_this_problem" and "total_number_of_contestants"? I wonder those who are eligible for the round but not participate in the round at all will be counted or not.

»
10 лет назад, # |
  Проголосовать: нравится -41 Проголосовать: не нравится

can someone explain how to solve the problems ?

»
10 лет назад, # |
  Проголосовать: нравится +17 Проголосовать: не нравится

This webpage has a redirect loop :(

»
10 лет назад, # |
  Проголосовать: нравится -44 Проголосовать: не нравится

Разбросанные по всему списку компиляторы одного языка и OpenJDK Java ... — это дикий ужас. Вам точно не хватает сколько-нибудь годного фронтендщика...

P.S. Жду дисквалификации (или отказа в приеме на стажировку?).

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +11 Проголосовать: не нравится

    Да уж, самое забавное, что если зайти на страницу сабмитов со смартфона, то названия компиляторов не сокращаются.

    • »
      »
      »
      10 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится -20 Проголосовать: не нравится

      И, что характерно, со смартфона не получается прокрутить список.

      А на меня, по-моему, ополчились обиженные мной синезеленые. Т.к. проблема с юзабилити на самом деле имеет место быть...

»
10 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

Will the coming rounds be held and rated on Codeforces? I mean there was a previous round on CF in 2011...

»
10 лет назад, # |
  Проголосовать: нравится +18 Проголосовать: не нравится

Решить первую задачу с 6-ой попытки....встретимся на финале!

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Не решил задачу F с пяти попыток, так что принимаю вызов! :)

»
10 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

Ещё не пофиксили багу, которая может немного сбивать с толку.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

sadly I missed it :( :(

»
10 лет назад, # |
  Проголосовать: нравится -15 Проголосовать: не нравится

Ah! it needs further registration, I thought codeforce handles are enough. Too bad!

»
10 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

Is there any way to see other participants solution after the contest?

»
10 лет назад, # |
  Проголосовать: нравится -15 Проголосовать: не нравится

Why cant we resubmit blind submissions?

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Because it is no more blind. You have already been told that what you initially thought was incorrect, and you have been provided a chance to correct it.

    • »
      »
      »
      10 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится
      You have already been told that what you initially thought was incorrect

      Who told me?:D

      and you have been provided a chance to correct it.

      What?

      It does not say after the submission if it has passed the tests or not (only sample tests are checked).

      • »
        »
        »
        »
        10 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        What's the point of blind submission now?

        It does not say after the submission if it has passed the tests or not (only sample tests are checked).

        Do you want to check that your submission passes the tests from the problem statement? That is something you can do manually.

        • »
          »
          »
          »
          »
          10 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          What's the point of blind submission now?
          It does not say after the submission if it has passed the tests or not

          while regular submissions are being tested immediately.

          Do you want to check that your submission passes the tests from the problem statement? That is something you can do manually.
          No and this is why the result of blind submission is useless.
          • »
            »
            »
            »
            »
            »
            10 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            I think I didn't got you correctly. Were you asking why yo can resubmit blindly during the contest? I was thinking about upsolving due to some reason. If your question is about the contest then I think the reason is to add more drama, you should be sure about first time you submit it.

»
10 лет назад, # |
  Проголосовать: нравится +34 Проголосовать: не нравится

После того как все решил, в Положении участников часто показывается состояние на какой-нибудь рандомный момент времени (00:15, 00:36 и т.д.), а не конечные результаты.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

In the final standings, the + indicates normal submission, while a tick indicates blind?

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Is there any editorial for the contest ??

»
10 лет назад, # |
  Проголосовать: нравится -28 Проголосовать: не нравится

tourist solved all problems in 41 minutes! That is insane!!

»
10 лет назад, # |
  Проголосовать: нравится +33 Проголосовать: не нравится

Задача С

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

Задача D

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

Какого черта, Юра!?

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Как решать Е ?

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Подотрезок с максимальной по модулю суммой. У элементов на четной позиции необходимо поменять знак.

  • »
    »
    10 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

    Поменяем каждое второе число на противоположное. Теперь нас интересует максимальная по модулю сумма на подотрезке. Её можно найти так. Пусть s[i] — сумма первых i чисел. Тогда сумма на отрезке [l,r] равна |s[r] - s[l-1]|. А эта величина, очевидно, достигнет максимального значения, если мы найдём максимальное и минимальное из s[i] и вычтем одно из другого (неважно, кто из них справа, а кто слева, потому что сумма рассматривается по модулю).

»
10 лет назад, # |
  Проголосовать: нравится +44 Проголосовать: не нравится

Damn, why no any reminding email :(!? I missed such a good contest, because I missed qualification round :(.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    Did you participate in Warm Up round?

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится +13 Проголосовать: не нравится

      No, I didn't have time to (lot of work to studies) and since it was "Warm Up" I assumed that problems presumably won't be amusing. Were reminding e-mails sent to Warm Up participants only? If so, that isn't a very clever idea.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Ошибочно решал вместо С задачу, где условие не только на бумажки сверху, но и на бумажки снизу (т.е. у каждого листа должна быть точка, над которой и под которой нету других листов). Как такое делать?

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

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

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится +10 Проголосовать: не нравится

      Я что-то не понял перехода к задаче D:(

      От взаимного расположения сверху/снизу тогда ничего не зависит, но вопрос в том, как крутить? Если есть, например, 2 листа со сторонами 3 5 и 4 6 — надо один из них повернуть, и все будет ок. Как узнать, какие поворачивать в общем случае?

      • »
        »
        »
        »
        10 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится -10 Проголосовать: не нравится

        Пусть А и В — длина и ширина первого листа. Пусть C и D — длина и ширина второго листа.

        Тогда второй лист можно положить на первый, если (C < A or C < B or D < A or D < B).

        Соответственно, очевидно, куда крутить.

        • »
          »
          »
          »
          »
          10 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Вы не поняли вопроса. Нам надо понять, какие из листов повернуть, а какие — нет.

      • »
        »
        »
        »
        10 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

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

      • »
        »
        »
        »
        10 лет назад, # ^ |
        Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

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

        Давайте для начала расположим все листы так, чтобы они были "высокими" (h[i] >= w[i]). Нам надо развернуть некоторые из них так, чтобы развёрнутые листы лежали правильно и оставшиеся — тоже правильно. То есть, если рассмотреть последовательность высот листов, расположенных по убыванию ширины, полученную последовательность высот надо разбить на две возрастающие подпоследовательности (причём так, что если две ширины равны, то соответствующие высоты обязательно попадают в разные подпоследовательности).

        Это можно сделать, например, так. Пусть мы разбивает последовательность x[] на две возрастающие подпоследовательности. Давайте посчитаем динамикой величину min[k]. Что такое min[k]? Если разбить первые k числе последовательности на две возрастающие подпоследовательности, то одна из них будет оканчиваться на x[k]. Тогда min[k] — это минимальное число, на которое может оканчиваться вторая подпоследовательность. Тогда min[k+1] легко вычислить, зная x[k], x[k + 1] и min[k], с учётом того, что одно из них — максимальное число среди первых k+1.

  • »
    »
    10 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

    В такой формулировке напоминает задачу F с Гран При Саратова: http://codeforces.com/blog/entry/10614#comment-159703 (оно же с тимуса: http://acm.timus.ru/problem.aspx?space=1&num=1743).

    • »
      »
      »
      10 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

      Спасибо. Да, это оно.

      Запишу себе напоминание — наконец-то пересмотреть пропущенные этапы опенкапа в ближайшее время:)

»
10 лет назад, # |
  Проголосовать: нравится +22 Проголосовать: не нравится

Seriously, why no email reminder? I missed it too, it was a really good contest and I wanted to participate :( :(

»
10 лет назад, # |
  Проголосовать: нравится +29 Проголосовать: не нравится

I believe the statement of problem F was incorrect.

Currently the statement says: "The sequence starts with an opening round bracket “(”, ends with a closing round bracket “)” and holds only English letters (one or more) in between the brackets. Examples: (blush), (facepalm), (SmileSmileSmile)."

However, there was no "(one or more)" in the beginning of the contest. Without "(one or more)", I think "()" satisfies this condition (and I guess this is the reason of so many failures).

  • »
    »
    10 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +18 Проголосовать: не нравится

    We considered to retest all failed on test 4 submissions before fix with "one or more" was added with understanding when () is a smiley. Retesting will be done soon.

    Update: Retesting complete; all solutions failed on test 4 before statement fix were rejudged.

    But anyway, i am not sure if there is no difference between "holds only English letters" and "does not contain any characters, other than English letters" (something like that must be used for set of English words + empty set). For the first version of statement more likely string must be non-empty

»
10 лет назад, # |
  Проголосовать: нравится +10 Проголосовать: не нравится

C# solution for F:

// (づ*ω*)づミ★゜・。。・゜゜・。。・゜☆゜・。。・゜゜・。。・゜゜・。。・゜゜・。。・゜
Console.Write(Regex.Replace(Console.ReadLine(), @"([^A-Za-z0-9\s()]\)|\([A-Za-z]+\))", m => "<S>" + m + "</S>"));
  • »
    »
    10 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +10 Проголосовать: не нравится

    In java: out.println(in.readLine().replaceAll("(\\([a-zA-Z]+\\)|[^a-zA-Z0-9 ()]\\))", "<S>$1</S>"));

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

What was the approach to solve problem E?

  • »
    »
    10 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Change the sign of all elements in odd positions. Now you need to find the segment with the largest sum (in absolute value). If you calculate partial sums (from the start of the array to the current position), then the sum of any segment is the difference of two partial sums (corresponding to the segment's start and end). So all you need to do is go through the array once, keeping track of the current sum, and the minimum/maximum value of this sum so far.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

А почему нельзя посмотреть решения участников? А то я больше получаса потратил на D, хотел посмотреть, почему другим участникам (некоторым) хватило 10 минут.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится

    А сколько времени нужно писать ДО/корневую для поиска максимума на отрезке?

    Хотя я бы тоже не отказался от возможности смотреть решения остальных участников.

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится -45 Проголосовать: не нравится

      №152-ФЗ, статья 7. Думаю, достаточная причина для того, чтобы не публиковать исходники участников.

      • »
        »
        »
        »
        10 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится

        Хм, но вот администрации сайтов codeforces.ru, topcoder.com и code.google.com/codejam/ так не кажется.

        • »
          »
          »
          »
          »
          10 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится

          В правилах Code Jam явно прописано: "Contestants also agree that all submitted source code will be made available for anyone to view and download at the end of the contest. Contestants further grant a worldwide, royalty-free right to use, copy, and modify all submitted source code to members of the public after the Contest ends."

          На Топкодере аналогично: "By posting, uploading or otherwise sending any source code to us or our Web site, you grant (or warrant that the owner of such rights has expressly granted) us a perpetual, royalty-free, irrevocable, non-exclusive right and license to use, reproduce and publish such code into any form, medium or technology, including the right, at TopCoder's sole discretion, to distribute such code to be published by third parties."

          А вот MikeMirzayanov, судя по всему, пока сильно не заботился о юридических аспектах.

          • »
            »
            »
            »
            »
            »
            10 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

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

      • »
        »
        »
        »
        10 лет назад, # ^ |
          Проголосовать: нравится +12 Проголосовать: не нравится

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

        В любом случае — в будущем можно добавить какой-то пунктик при регистрации, я согласен на публикацию исходных кодов моих решений, тогда ведь все будет ОК? Будет согласие и можно распространять.

        • »
          »
          »
          »
          »
          10 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

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

          Почему бы и нет? В статье 3 есть определение понятия персональных данных, и исходный код с ним вполне соотносится.

          В любом случае — в будущем можно добавить какой-то пунктик при регистрации, я согласен на публикацию исходных кодов моих решений, тогда ведь все будет ОК? Будет согласие и можно распространять.

          Я тоже не особо юрист, но, видимо, в таком случае все уже будет по закону.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

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

      • »
        »
        »
        »
        10 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится -8 Проголосовать: не нравится

        У меня предварительно был написан только код, отвечающий за быстрый ввод-вывод. Дерево Фенвика я писал на контесте.

        • »
          »
          »
          »
          »
          10 лет назад, # ^ |
            Проголосовать: нравится +29 Проголосовать: не нравится

          Ладно. Куда мне до Вас, я ведь всего лишь жёлтый)

          Но всё это не отменяет изначального вопроса.

          • »
            »
            »
            »
            »
            »
            10 лет назад, # ^ |
              Проголосовать: нравится -63 Проголосовать: не нравится

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

            • »
              »
              »
              »
              »
              »
              »
              10 лет назад, # ^ |
                Проголосовать: нравится +5 Проголосовать: не нравится

              Вас минусуют каждый раз, когда Вы упоминаете это слово? =) Иной причины в данном случае не вижу...

              А меня заплюсовали, видимо, те, кто таки разглядел в моих словах иронию над Вашим пренебрежительным отношением ко всем, кто ниже рейтингом ;)

      • »
        »
        »
        »
        10 лет назад, # ^ |
          Проголосовать: нравится +4 Проголосовать: не нравится

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

        • »
          »
          »
          »
          »
          10 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Спасибо.

          • »
            »
            »
            »
            »
            »
            10 лет назад, # ^ |
            Rev. 6   Проголосовать: нравится 0 Проголосовать: не нравится

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

            upd. или искать все тот же максимум на суффиксе, но написав фенвика для суффиксов — тогда его даже не нужно инициализировать.

            upd2. Код

»
10 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

Будет какое-то официальное сообщение тем, кто прошёл в первый раунд? Понятно, что если решил задачу, то прошёл, но хотелось бы какое-то ещё подтверждение — обычно (RCC, Codejam) присылают письмо с подтверждением.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

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

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

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

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится +17 Проголосовать: не нравится

      Вы уверены что проверяете ту электронную почту, которая указана у вас на странице регистрации?

      • »
        »
        »
        »
        10 лет назад, # ^ |
          Проголосовать: нравится +13 Проголосовать: не нравится

        После этого сообщения открыл для себя, что у меня есть почта на яндексе) На нее действительно приходят письма с оповещениями)

      • »
        »
        »
        »
        10 лет назад, # ^ |
          Проголосовать: нравится -10 Проголосовать: не нравится

        [email protected] и [email protected] — это один и тот же адрес? Если да, то уверен. Если нет, то меня перенаправляет на .com при попытке входа. И в этом ящике последнее письмо датировано 22.07.2013. Подскажите, если я в чем-то не прав. Причем письма такие же, как и были в прошлом году на .by.

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Сергей, мне точно пришло. Ещё до начала отборочного.

      • »
        »
        »
        »
        10 лет назад, # ^ |
          Проголосовать: нравится +26 Проголосовать: не нравится

        Я рад за тебя, Антон. У меня по-прежнему нет.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

The rules say that the participants with the highest cumulative scores will advance to the finals. Does this mean that we have to participate in all 3 rounds? They are scheduled in such a way that in any time zone at least one contest will be in the middle of a night.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    It doesn't — you can participate however you want. Still, the more you participate, the better your chances, since once excellent result gives you much more than 3 good ones.

    • »
      »
      »
      10 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

      That's good to know. The rules say it uses total points, number of solved problems and total penalty, but doesn't say which formula is used, so I can't tell how important it is to participate in all 3 rounds. Also, I thought the first round was yesterday, guess I'll wait for it today then as its the only one that happens at night for me.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

А я правильно понимаю что окончательные результаты состоят из суммы за ТРИ раунда, или есть какое то правило по которому худший не считается?

»
10 лет назад, # |
  Проголосовать: нравится -10 Проголосовать: не нравится

Везде одинаковый testcase это сильно :) Круче только везде одинаковые ответы.

»
10 лет назад, # |
  Проголосовать: нравится -10 Проголосовать: не нравится

Как решать задачу D? dp[sum][n] дает TL на 5 тесте =)))

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    Там не нужно хранить еще одну размерность, потому что можно сразу умножать на 2.

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится -8 Проголосовать: не нравится

      Можно чуть поподробней?

      • »
        »
        »
        »
        10 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Храните только dp[xor], тогда ответ можно пересчитывать так dp1[j] = (dp[j] + 2 * dp[j ^ x]) — первое слагаемое это случай когда мы ничего не добавляем второе это когда добавляем текущее x.

        p.s. Хотя может я не правильно понял что у вас во второй размерности, и если это просто обрабатываемый индекс то можно же делать только двумя массивами.

  • »
    »
    10 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    У меня dp[n][sum] (сколько банкнот рассмотрели, какой xor), АС за 1.552.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    AC, если хранить только последнюю строчку в dp.

»
10 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Нет, просто я идиот.

»
10 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

не в тот топик