
from collections import deque

n, k = map(int, input().split())
seats = deque()  # Очередь для хранения свободных мест
distances = [0] * (n + 1)  # Массив для хранения расстояний до ближайших занятых мест
result = []  # Список для хранения ответов

for i in range(1, n + 1):
    seats.append(i)  # Изначально все места свободны
    distances[i] = 0  # Расстояние до ближайшего занятого места равно 0

for _ in range(k):
    query = input().strip()
    if query == '+':
        # Получили нового пассажира, выбираем место с максимальным расстоянием
        max_distance_seat = seats.pop()
        result.append(max_distance_seat)
    else:
        # Пассажир ушел, освобождаем его место и обновляем расстояния
        seat = int(query[1:])
        seats.append(seat)
        distances[seat] = 0

        # Обновляем расстояния до ближайших занятых мест
        while seats and distances[seats[0]] > 0:
            distances[seats[0]] = min(distances[seats[0]], distances[seat] + 1)
            seat = seats.popleft()

# Выводим ответы
for ans in result:
    print(ans)
