Условие
Храните уникальные целочисленные идентификаторы в std::set<int>. Исходно множество пусто. Обработайте команды ADD value, REMOVE value, HAS value, SIZE. Повторное добавление не создаёт новый элемент; удаление отсутствующего значения не меняет множество.
Для ADD определите, было ли значение добавлено впервые; для REMOVE — был ли элемент удалён. Используйте операции std::set; хранение всех идентификаторов в массиве или std::vector вместо множества запрещено.
Ограничения
Время: 2 секунды. Память: 64 МиБ. Вывод: до 2 МиБ. Язык: C++17.
Входные данные
В первой строке вводится Q. Следующие Q строк содержат команды. Ограничения: 1 ≤ Q ≤ 100000, 0 ≤ value ≤ 10⁹.
Выходные данные
Для ADD выведите ADDED или EXISTS; для REMOVE — REMOVED или NOT FOUND; для HAS — YES или NO; для SIZE — текущий размер множества. Каждый ответ — отдельная строка. После всех ответов выведите оставшиеся идентификаторы в порядке возрастания через пробел; если множество пусто, выведите пустую строку.
Примеры
6 ADD 7 ADD 3 ADD 7 HAS 3 REMOVE 7 SIZE
ADDED ADDED EXISTS YES REMOVED 1 3
4 REMOVE 5 HAS 5 ADD 5 REMOVE 5
NOT FOUND NO ADDED REMOVED
5 ADD 1000000000 ADD 0 SIZE HAS 1 REMOVE 1
ADDED ADDED 2 NO NOT FOUND 0 1000000000