Задача I. Коллекционер

Автор:Анастасия Плюснина   Ограничение времени:1 сек
Ввод / вывод:интерактивный   Ограничение памяти:256 Мб

Условие

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

Илья собирает коллекцию фантиков от конфет. Каждый фантик он кладет в альбом, причем все фантики он складывает в порядке возрастания их размеров (размер указан на каждом фантике). Каждый день он пополняет свою коллекцию одним новым фантиком.

В начале каждого дня он дает вам фантик и просит помочь ему определить перед каким БОЛЬШИМ СПРАВА в альбоме фантиком ему необходимо поставить новый. Если такого фантика не существует или если фантик с таким размером уже имеется в коллекции, вам необходимо вывести NO.

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

При запуске решения на вход в первой строке подаются целые числа n и k - количество уже имеющихся фантиков и количество дней. (1 ≤ n ≤ 2 ⋅ 105, 1 ≤ k ≤ 105)

Во второй строке подается n целых чисел - ai коллекция фантиков в порядке возрастания, которая может содержать повторяющиеся размеры фантиков. (1 ≤ ai ≤ 2 ⋅ 105)

Далее ввод и вывод будут чередоваться. Илья k раз будет давать вам фантик, то есть одно целое число bi - его размер, а вам надо будет после каждого раза ответить перед каким фантиком надо расположить текущий. (1 ≤ bi ≤ 109)

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

Каждый вопрос и вывод ответа должен заканчиваться символом перевода строки \n, а также необходимо выполнить сброс буфера:

Язык C++ Pascal Java Python
Сброс буфера cout.flush() flush(output) System.out.flush() stdout.flush()

Примеры тестов

Стандартный вход Стандартный выход
1
5 4
2 3 4 5 6
9
3
8
1
NO
NO
9
2

0.074s 0.018s 13