#include <bits/stdc++.h>
using namespace std;
int n, m;
int getLength(int x, int y) {
  if (x == 1) return y;
  if (y == n) return n - x + 1;
  return (y - x) / 2 + 1;
}
int getPlace(int x, int y) {
  if (x == 1) return 1;
  if (y == n) return n;
  return x + (y - x) / 2;
}
struct Interval {
  int x, y, len, place;
  Interval() {}
  Interval(int _x, int _y) : x(_x), y(_y) {
    len = getLength(x, y), place = getPlace(x, y);
  }
  bool operator<(const Interval& o) const {
    if (len != o.len) return len < o.len;
    return x > o.x;
  }
};
priority_queue<Interval> Q;
set<int> S;
set<int>::iterator it;
map<pair<int, int>, bool> pool;
int p[1000010];
int main() {
  ios::sync_with_stdio(false);
  cin >> n >> m;
  int cmd, id;
  S.insert(0);
  S.insert(n + 1);
  Q.push(Interval(1, n));
  pool[make_pair(1, n)] = 1;
  while (m--) {
    cin >> cmd >> id;
    if (cmd == 1) {
      Interval top;
      while (1) {
        top = Q.top();
        Q.pop();
        if (pool[make_pair(top.x, top.y)] == 1) {
          pool[make_pair(top.x, top.y)] = 0;
          break;
        }
      }
      int mid = top.place;
      cout << mid << endl;
      p[id] = mid;
      it = S.lower_bound(mid);
      int prev = -1, next = -1;
      if (it != S.begin()) {
        prev = *(--it);
        it++;
        if (prev + 1 <= mid - 1) {
          Q.push(Interval(prev + 1, mid - 1));
          pool[make_pair(prev + 1, mid - 1)] = 1;
        }
      }
      if (it != S.end()) {
        next = *it;
        if (mid + 1 <= next - 1) {
          Q.push(Interval(mid + 1, next - 1));
          pool[make_pair(mid + 1, next - 1)] = 1;
        }
      }
      if (prev != -1 && next != -1) pool[make_pair(prev + 1, next - 1)] = 0;
      S.insert(mid);
    } else {
      it = S.lower_bound(p[id]);
      int prev = *(--it);
      ++it;
      int next = *(++it);
      Q.push(Interval(prev + 1, next - 1));
      pool[make_pair(prev + 1, next - 1)] = 1;
      pool[make_pair(prev + 1, p[id] - 1)] = 0;
      pool[make_pair(p[id] + 1, next - 1)] = 0;
      S.erase(p[id]);
    }
  }
  return 0;
}
