Дима и массив
문제
Диме не дарили массив , состоящий из целых чисел на день рождения, он не покупал его, не находил на улице, а он у него просто есть и всегда был, и Диме не очень-то и интересно откуда.
Дима не играет с массивом, не дарит его Пете, не режет на кусочки и не стремится его уничтожить. Дима просто выполняет операции двух видов со своим массивом:
? l r--- узнатьMEXмультимножества! i x--- присвоить значение
MEX мультимножества чисел --- это минимальное целое такое, что для всех .
На самом деле, Диме не очень нравится выполнять операции двух видов со своим массивом. Диму волнуют лишь результаты операций первого типа. Помогите Диме и напишите программу, которая выполнит операции за него.
입력
Первая строка содержит два целых числа и () --- размер массива, который есть у Димы и количество операций, соответственно.
Вторая строка содержит целых чисел () --- массив Димы до начала операций.
Каждая из следующих строк содержит описание одной операции в формате, описанном выше.
Гарантируется, что суммарно Дима сделал не более операций изменения массива.
Элементы массива пронумерованы, начиная с .
출력
Для каждой операцияя первого типа выведите одно целое число --- MEX соответствующего мультимножества. Ответы на запросы выводите в порядке, в котором они заданы во входных данных.
힌트
В примере запросы выглядят следующим образом:
- Изначально массив равен
- В первом запросе считается
MEXот и он равен . - Во втором запросе считается
MEXот и он равен . - В третьем запросе считается
MEXот и он равен . - В четвёртом запросе считается
MEXот и он равен . - Пятый запрос меняет массив. Теперь он равен .
- В шестом запросе считается
MEXот всего массива и он равен . - Седьмой запрос меняет массив. Теперь он равен .
- В восьмом запросе снова считается
MEXот всего массива и теперь он равен .
예제
예제 1
6 8 4 1 0 2 2 3 ? 1 6 ? 4 6 ? 2 5 ? 2 6 ! 3 3 ? 1 6 ! 4 0 ? 1 6
5 0 3 4 0 5