#Задача L. Места в метро 
from collections import deque

n, k = map(int, input().split())
free_seats = deque(range(1, n + 1))
distances = deque([n])  # Изначально, расстояние до ближайшего занятого - n
result = []

for _ in range(k):
    query = input().strip()  # Удалить символы перевода строки и лишние пробелы
    if query == '+':
        # Извлекаем место с максимальным расстоянием до ближайшего занятого
        seat = free_seats.popleft()
        distance = distances.popleft()
        result.append(seat)
        # Обновляем расстояния до ближайшего занятого
        left_distance = seat - 1
        right_distance = n - seat
        if left_distance > 0:
            distances.appendleft(left_distance)
        if right_distance > 0:
            distances.append(right_distance)
    else:
        # Парсим номер места, которое освобождается
        x = int(query[1:])
        free_seats.append(x)
        # Обновляем расстояния до ближайшего занятого после освобождения места
        left_distance = x - free_seats[0] - 1
        right_distance = free_seats[-1] - x - 1
        if left_distance > 0:
            distances.appendleft(left_distance)
        if right_distance > 0:
            distances.append(right_distance)

for seat in result:
    print(seat)
