#include <bits/stdc++.h>
using namespace std;
int a[1000005] = {0}, n, q;
void modify(int x, int y) {
  for (; x <= n; x += x & (-x)) {
    a[x] += y;
  }
}
int ask(int x) {
  int ans = 0;
  for (; x; x -= x & -x) {
    ans += a[x];
  }
  return ans;
}
bool check(int mid, int num) {
  if (ask(mid) < num)
    return 0;
  else
    return 1;
}
int find(int num) {
  int l = 1, r = n, mid;
  while (l < r) {
    mid = (l + r) / 2;
    if (check(mid, num))
      r = mid;
    else
      l = mid + 1;
  }
  return r;
}
int main() {
  cin >> n >> q;
  int i;
  a[0] = 0;
  for (i = 1; i <= n; i++) {
    int temp;
    scanf("%d", &temp);
    modify(temp, 1);
  }
  for (i = 1; i <= q; i++) {
    int temp;
    scanf("%d", &temp);
    if (temp > 0) {
      modify(temp, 1);
    } else {
      temp = -temp;
      int pos = find(temp);
      modify(pos, -1);
    }
  }
  bool flag = 0;
  for (i = 1; i <= n; i++) {
    if (ask(i) - ask(i - 1) > 0) {
      cout << i << endl;
      flag = 1;
      break;
    }
  }
  if (!flag) {
    cout << 0;
  }
  return 0;
}
