import heapq

n, k = map(int, input().split())
occupied = set()  # Множество для хранения занятых мест
max_dist_heap = []  # Мин-куча для хранения свободных мест с максимальным расстоянием

for i in range(k):
    query = input().strip()
    if query == "+":
        if max_dist_heap:
            # Извлекаем свободное место с максимальным расстоянием
            max_dist, seat = -heapq.heappop(max_dist_heap)
        else:
            # Если куча пуста, берем место 1
            max_dist, seat = 0, 1

        # Заносим место в множество занятых
        occupied.add(seat)

        # Вычисляем расстояния до соседних занятых мест
        left_dist = seat
        right_dist = n - seat + 1

        # Обновляем кучу свободных мест с учетом нового занятого места
        heapq.heappush(max_dist_heap, (-left_dist, seat))
        heapq.heappush(max_dist_heap, (-right_dist, seat))

        print(seat)  # Выводим номер занятого места
    else:
        # Если запрос начинается с "-", освобождаем место
        passenger_number = int(query[1:])
        occupied.remove(passenger_number)

print()
