#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9 + 7;
const int c2 = 1e9 + 9;
const long long bs = (long long)239;
const long long C = 1e6 + 10;
mt19937 rnd;
vector<int> t(4 * C), d(4 * C);
void push(int v, int l, int r) {
  if (d[v] != 0) {
    t[v] += d[v];
    if (l != r) d[2 * v + 1] += d[v], d[2 * v + 2] += d[v];
    d[v] = 0;
  }
}
void add(int v, int l, int r, int L, int R, int x) {
  push(v, l, r);
  if (l >= L && r <= R) {
    d[v] += x;
    push(v, l, r);
    return;
  }
  if (l > R || r < L) return;
  int m = (l + r) / 2;
  add(2 * v + 1, l, m, L, R, x);
  add(2 * v + 2, m + 1, r, L, R, x);
  t[v] = max(t[2 * v + 1], t[2 * v + 2]);
}
int qr(int v, int l, int r) {
  push(v, l, r);
  if (t[v] <= 0) return -1;
  if (l == r) return l;
  int m = (l + r) / 2;
  push(2 * v + 1, l, m);
  push(2 * v + 2, m + 1, r);
  if (t[2 * v + 2] > 0)
    return qr(2 * v + 2, m + 1, r);
  else
    return qr(2 * v + 1, l, m);
}
int main() {
  int n, m;
  cin >> n >> m;
  vector<int> a(n), b(m);
  for (int i = 0; i < n; ++i) {
    int x;
    cin >> x;
    add(0, 0, C - 1, 0, x, 1);
    a[i] = x;
  }
  for (int i = 0; i < m; ++i) {
    int x;
    cin >> x;
    add(0, 0, C - 1, 0, x, -1);
    b[i] = x;
  }
  int q;
  cin >> q;
  while (q--) {
    int dd, i, x;
    cin >> dd >> i >> x;
    i--;
    if (dd == 1) {
      add(0, 0, C - 1, 0, a[i], -1);
      add(0, 0, C - 1, 0, x, 1);
      a[i] = x;
    } else {
      add(0, 0, C - 1, 0, b[i], 1);
      add(0, 0, C - 1, 0, x, -1);
      b[i] = x;
    }
    cout << qr(0, 0, C - 1) << "\n";
  }
  return 0;
}
