#include <bits/stdc++.h>
using namespace std;
const int maxn = 100003;
pair<int, int> t[4 * maxn];
int psh[maxn];
void update(int v, int l, int r, int q) {
  if (l == r) return void(t[v] = psh[q] ? make_pair(1, 0) : make_pair(0, 1));
  int m = (l + r) / 2;
  if (q <= m) update(v * 2, l, m, q);
  if (q > m) update(v * 2 + 1, m + 1, r, q);
  int u = min(t[v * 2].first, t[v * 2 + 1].second);
  t[v] = make_pair(t[v * 2].first + t[v * 2 + 1].first - u,
                   t[v * 2].second + t[v * 2 + 1].second - u);
}
int get_ans(int v, int l, int r, int c) {
  if (!t[v].first) return -1;
  if (l == r) return psh[l];
  int m = (l + r) / 2;
  if (t[v * 2 + 1].first - c > 0)
    return get_ans(v * 2 + 1, m + 1, r, c);
  else
    return get_ans(v * 2, l, m, c - t[v * 2 + 1].first + t[v * 2 + 1].second);
}
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) {
    int q, t, num;
    scanf("%d %d", &q, &t);
    if (t == 1) {
      scanf("%d", &num);
      psh[q] = num;
    }
    update(1, 1, n, q);
    printf("%d\n", get_ans(1, 1, n, 0));
  }
  return 0;
}
