C. Минимум на подотрезках
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Есть переменная $$$sum$$$, которая изначально равна $$$0$$$.

Также есть структура данных, которая может выполнять следующие операции:

  • pushback x — добавляет элемент со значением $$$x$$$ в конец структуры;
  • pushfront x — добавляет элемент со значением $$$x$$$ в начало структуры;
  • popback — удаляет последний элемент из структуры;
  • popfront — удаляет первый элемент из структуры;
  • min — добавляет к переменной $$$sum$$$ значение минимального элемента, находящегося в структуре.

Операции popback, popfront и min нельзя применять к пустой структуре!

С помощью этой структуры вы бы хотели уметь находить сумму минимумов всех непустых подотрезков массива $$$a$$$ из $$$n$$$ элементов.

Более формально, ваша задача найти последовательность из не более $$$n \cdot (n + 2)$$$ команд, таких что после всех операций переменная $$$sum$$$ будет равна $$$\sum_{0 \le l \le r \lt n} \min(a[l],\dots, a[r])$$$ для любого возможного массива $$$a$$$.

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

В первой строке содержится одно целое число $$$n$$$ ($$$1 \le n \le 500$$$) — количество элементов в массиве.

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

Выведите $$$k$$$ ($$$1 \le k \le n \cdot (n + 2)$$$) команд. Каждая команда должна быть одной из пяти строк:

  • «pushback a[i]», где $$$i$$$ — число от $$$0$$$ до $$$n - 1$$$
  • «pushfront a[i]», где $$$i$$$ — число от $$$0$$$ до $$$n - 1$$$
  • «popback»
  • «popfront»
  • «min»

Если существует несколько вариантов ответа, выведите любой.

Примеры
Входные данные
1
Выходные данные
3
pushback a[0]
min
popfront
Входные данные
2
Выходные данные
6
pushfront a[1]
min
pushback a[0]
min
popfront
min