#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 58;
int p[maxn], mn[4 * maxn], lazy[4 * maxn];
inline void relax(int id) {
  int x = lazy[id];
  lazy[id] = 0;
  mn[2 * id + 0] += x;
  mn[2 * id + 1] += x;
  lazy[2 * id + 0] += x;
  lazy[2 * id + 1] += x;
}
void add(int id, int L, int R, int l, int r, int x) {
  if (R <= l || r <= L) return;
  if (L >= l && R <= r) {
    mn[id] += x;
    lazy[id] += x;
    return;
  }
  int mid = (L + R) / 2;
  relax(id);
  add(2 * id + 0, L, mid, l, r, x);
  add(2 * id + 1, mid, R, l, r, x);
  mn[id] = min(mn[2 * id + 0], mn[2 * id + 1]);
}
int get(int id, int L, int R) {
  if (mn[id] >= 0) return -1;
  if (R == L + 1) {
    return p[L];
  }
  int mid = (L + R) / 2;
  relax(id);
  if (mn[2 * id + 1] < 0) return get(2 * id + 1, mid, R);
  return get(2 * id + 0, L, mid);
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int m, n;
  cin >> m;
  n = m;
  for (int i = 0; i < m; i++) {
    int t, id;
    cin >> id >> t;
    id--;
    if (!t) {
      add(1, 0, n, 0, id + 1, +1);
    } else {
      cin >> p[id];
      add(1, 0, n, 0, id + 1, -1);
    }
    cout << get(1, 0, n) << '\n';
  }
}
