#include <bits/stdc++.h>
using namespace std;
const char newl = 10;
const string sep = "\n____\n";
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
const long long MOD = 1000000007;
const int MAXN = 100005;
int LOGN = 14;
vector<int> bit;
int n;
void upd(int i, int x) {
  while (i <= n) {
    bit[i] += x;
    i += i & (-i);
  }
}
int quer(int i) {
  int ret = 0;
  while (i > 0) {
    ret += bit[i];
    i -= i & (-i);
  }
  return ret;
}
int bit_search(int v) {
  int l = 1, r = n;
  while (l != r) {
    int mid = (l + r) / 2;
    if (quer(mid) < v)
      l = mid + 1;
    else
      r = mid;
  }
  return l;
}
void run() {
  int q;
  cin >> n >> q;
  bit.clear();
  bit.resize(n + 1);
  vector<int> cnt(n + 1);
  for (int i = 0, tmp; i < n; i++) {
    cin >> tmp;
    upd(tmp, 1);
    cnt[tmp]++;
  }
  while (q--) {
    int k;
    cin >> k;
    if (k < 0) {
      k = -k;
      int xd = bit_search(k);
      upd(xd, -1);
      cnt[xd]--;
    } else {
      upd(k, 1);
      cnt[k]++;
    }
  }
  for (int i = 1; i <= n; i++) {
    if (cnt[i]) {
      cout << i << ' ';
      return;
    }
  }
  cout << 0;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int t = 1;
  for (int tc = 1; tc <= t; tc++) {
    run();
  }
  return 0;
}
