#include <bits/stdc++.h>
using namespace std;
long long int f[2000100] = {0};
long long int n;
void update(long long int i, long long int x) {
  if (x == -1 && f[i] == 0) return;
  while (i <= n) {
    f[i] += x;
    i += (i & (-i));
  }
}
long long int find(long long int k) {
  long long int pre = 0, pos = 0;
  for (long long int i = log2(n); i >= 0; i--) {
    if (pos + (1LL << i) <= n && pre + f[pos + (1LL << i)] < k) {
      pre += f[pos + (1LL << i)];
      pos += (1LL << i);
    }
  }
  return pos + 1;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  long long int q;
  cin >> n >> q;
  for (long long int i = 0; i < n; i++) {
    long long int x;
    cin >> x;
    update(x, 1);
  }
  while (q--) {
    long long int k;
    cin >> k;
    if (k > 0)
      update(k, 1);
    else {
      k = -1 * k;
      long long int ele = find(k);
      update(ele, -1);
    }
  }
  for (long long int i = 1; i <= n; i++) {
    if (f[i] > 0) {
      cout << i << "\n";
      return 0;
    }
  }
  cout << 0;
  return 0;
}
