D. Yui и маджонг
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Это интерактивная задача.

Yui девочка, которая очень любит играть в маджонг.

 

У нее есть таинственный набор, который состоит из нескольких плиток (этот набор может быть пустым). Каждая плитка содержит целое число от $$$1$$$ до $$$n$$$ и не больше, чем $$$n$$$ плиток в множестве имеют одинаковое значение. Таким образом, в множество содержит не больше, чем $$$n^2$$$ плиток.

Вы хотите узнать, какие числа написаны на плитках в множестве. Для этого Yui хочет сыграть с вами в игру.

Давайте назовем множество, состоящее из трех плиток равной тройкой, если значения на плитках одинаковые. Например, $$$\{2,\,2,\,2\}$$$ это равная тройка, а $$$\{2,\,3,\,3\}$$$ нет.

Давайте назовем множество, состоящее из трех плиток последовательной тройкой, если значения на плитках последовательные целые числа. Например, $$$\{2,\,3,\,4\}$$$ это последовательная тройка, а $$$\{1,\,3,\,5\}$$$ нет.

Сначала, Yui называет вам количество подмножеств плиток, которые являются равными тройками и количество подмножеств плиток, которые являются последовательными тройками в ее множестве плиток. После этого, вы можете добавить плитку с целым числом от $$$1$$$ до $$$n$$$ в множество не более, чем $$$n$$$ раз. Каждый раз добавляя плитку, в ответ вы получите количество подмножеств плиток в текущем множестве плиток, которые являются равными тройками и количество подмножеств плиток в текущем множестве плиток, которые являются последовательными тройками.

Обратите внимание, что любые две различные плитки с одинаковым значением считаются различными. Другими словами, в множестве $$$\{1,\,1,\,2,\,2,\,3\}$$$ вы можете найти $$$4$$$ подмножества $$$\{1,\,2,\,3\}$$$.

Угадайте количество плиток в изначальном множестве с числом $$$i$$$ для всех целых чисел $$$i$$$ от $$$1$$$ до $$$n$$$.

Входные данные

В первой строке находится единственное целое число $$$n$$$ ($$$4 \le n \le 100$$$).

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

Выходные данные

Когда ваша программа будет готова ответить, выведите строку в формате «! $$$a_1$$$ $$$a_2$$$ $$$\ldots$$$ $$$a_n$$$» ($$$0 \le a_i \le n$$$), где $$$a_i$$$ будет равно количеству плиток в изначальном множестве с числом $$$i$$$.

Протокол взаимодействия

Для того, чтобы добавить плитку в множество, выведите строку в формате «+ $$$x$$$» ($$$1 \le x \le n$$$), где $$$x$$$ равно числу, которое будет на плитке, которую вы добавляете. В ответ вы должны считать два целых числа, равных количеству подмножеств плиток, которые являются равными тройками и количеству подмножеств плиток, которые являются последовательными тройками в текущем множестве плиток.

После вывода строки с запросом добавления плитки или строки с ответом не забывайте сбрасывать буфер вывода. Иначе ваше решение получит вердикт Idleness limit exceeded.

Для того, чтобы сделать это, используйте:

  • fflush(stdout) или cout.flush() в C++;
  • System.out.flush() в Java;
  • flush(output) в Pascall;
  • stdout.flush() в Python;
  • обратитесь к документации для остальных языков.

Вы получите вердикт Wrong answer, если вы добавите больше, чем $$$n$$$ плиток в множество.

Взломы

Для того, чтобы сделать взлом, вы должны предоставить тест в следующем формате:

В первой строке находится единственное целое число $$$n$$$ ($$$4 \le n \le 100$$$).

Во второй строке находится $$$n$$$ целых чисел $$$a_1,a_2,\ldots,a_n$$$ ($$$0 \le a_i \le n$$$)  — $$$a_i$$$ равно количеству плиток с числом $$$i$$$ в множестве.

Пример
Входные данные
5
1 6
2 9
5 12
5 24
6 24
Выходные данные
+ 1
+ 1
+ 2
+ 5
! 2 1 3 0 2
Примечание

В первом тесте, изначальное множество плиток $$$\{1, 1, 2, 3, 3, 3, 5, 5\}$$$. Оно содержит одну равную тройку $$$\{3, 3, 3\}$$$ и шесть последовательных троек, которые все равны $$$\{1, 2, 3\}$$$. После добавления в множество плитки со значением $$$1$$$ множество плиток станет $$$\{1, 1, 1, 2, 3, 3, 3, 5, 5\}$$$ и будет содержать две равные тройки $$$\{1, 1, 1\}$$$, $$$\{3, 3, 3\}$$$ и девять последовательных троек, которые все равны $$$\{1, 2, 3\}$$$.