B. Онлайн митинг
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Почти на каждом проекте компании F работает целая команда разработчиков. Часто они находятся в разных комнатах офиса, в разных городах и даже странах. Чтобы поддерживать связь и следить за результатами на проекте, компания F устраивает коллективные онлайн митинги в Spyke чате.

Как-то раз к директору компании F попала запись части онлайн митинга одной из успешных команд. Просмотрев запись, директор захотел поговорить с лидером команды. Но как определить, кто лидер? Директор логично предположил, что лидер — это такой человек, который присутствует при любом разговоре на митинге в чате. Другими словами, если в какой-то момент времени хотя бы один человек присутствует на митинге, то лидер присутствует на митинге.

Вы — помощник директора. По заданным сообщениям о подключениях/отключениях людей на митинге в хронологическом порядке, помогите директору определить, кто может являться лидером? Обратите внимание, что у директора есть запись только непрерывной части митинга (возможно, не весь митинг).

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

В первой строке записаны целые числа n и m (1 ≤ n, m ≤ 105) — количество участников команды и количество сообщений. В каждой из следующих m строк записано сообщение в формате:

  • «+ id»: запись обозначает, что человек с номером id (1 ≤ id ≤ n) подключился к митингу.
  • «- id»: запись обозначает, что человек с номером id (1 ≤ id ≤ n) отключился от митинга.

Считайте, что все люди команды пронумерованы от 1 до n, а сообщения заданы в хронологическом порядке. Гарантируется, что заданная последовательность является корректной записью непрерывной части митинга. Гарантируется, что никакие два события подключения/отключения не произошли одновременно.

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

В первой строке выведите целое число k (0 ≤ k ≤ n) — количество людей, которые могут быть лидерами. В следующей строке выведите k целых чисел в возрастающем порядке — номера людей, которые могут быть лидерами.

Если данные таковы, что ни один человек команды не может являться лидером, выведите единственное число 0.

Примеры
Входные данные
5 4
+ 1
+ 2
- 2
- 1
Выходные данные
4
1 3 4 5
Входные данные
3 2
+ 1
- 2
Выходные данные
1
3
Входные данные
2 4
+ 1
- 1
+ 2
- 2
Выходные данные
0
Входные данные
5 6
+ 1
- 1
- 3
+ 3
+ 4
- 4
Выходные данные
3
2 3 5
Входные данные
2 4
+ 1
- 2
+ 2
- 1
Выходные данные
0