EduBrick

AD. Очередь на двух стеках

2000 мс · 256 МБ · всё или ничего

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

Кроме обычных команд поддержите moves — сколько всего элементов было переложено из первого стека во второй с начала работы.

  • push n — добавить в конец; вывести ok;
  • pop — удалить первый элемент и вывести его;
  • front — значение первого элемента;
  • size — количество элементов; moves — число перекладываний; exit — вывести bye.

Формат ввода

Команды, по одной на строке. Последняя — exit. Не больше 10510^5 команд, числа по модулю не больше 10910^9.

Формат вывода

Протокол работы, по одной строке на команду.

Примеры

ввод
push 1
push 2
moves
front
moves
pop
moves
push 3
pop
pop
moves
exit
вывод
ok
ok
0
1
2
1
2
ok
2
3
3
bye
Войдите, чтобы отправлять решения.