Language:

English
Russian

Практикум по программированию

Для участников:
Регистрация  ||   Вход
Список соревнований
Вы не вошли в систему! Вход или регистрация.

Построение

Time limit:1 sec.
Memory limit: 262144 KByte

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

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

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

Первая строка входных данных cодержит число N – количество событий (1 ≤ N ≤ 105). В каждой следующей строке содержится описание события: числа 1 и X, если солдат приходит в строй (X – рост солдата, натуральное число до 100 000 включительно), и числа 2 и Y, если солдата, стоящего в строе на месте Y, надо удалить из строя (солдаты в строе нумеруются с нуля).

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

В выходной файл выведите в отдельной строке для каждой команды 1 (добавление в строй) число K – номер позиции, на которую должен встать этот солдат (все стоящие за ним двигаются назад).

Пример

Входные данные
5
1 100
1 200
1 50
2 1
1 150
Выходные данные
0
0
2
1
© Copyright ВоГУ, АВТ, Носов Д.А., Смоленцев К.Н.