#include <iostream>
#include <set>
#include <vector>

using namespace std;

int main() {
    int n, k;
    cin >> n >> k;

    set<int> free_seats;
    free_seats.insert(1);  // В начале все места свободны

    vector<int> result;

    for (int i = 0; i < k; i++) {
        char op;
        cin >> op;

        if (op == '+') {
            int seat = *free_seats.rbegin();  // Найти максимальное свободное место
            free_seats.erase(seat);  // Убрать его из множества
            result.push_back(seat);
        } else if (op == '-') {
            int x;
            cin >> x;
            free_seats.insert(x);  // Освободить место x
        }
    }

    for (int seat : result) {
        cout << seat << endl;
    }

    return 0;
}