#include <bits/stdc++.h>
using namespace std;
int n;
int bit[1000005];
void add(int k, int x) {
  while (k < 1000005) {
    bit[k] += x;
    k += k & (-k);
  }
}
int query(int k) {
  int sum = 0;
  while (k > 0) {
    sum += bit[k];
    k -= k & (-k);
  }
  return sum;
}
int main() {
  int q;
  cin >> n >> q;
  for (int i = 0; i < n; i++) {
    int now;
    scanf("%d", &now);
    add(now, 1);
  }
  while (q--) {
    int now;
    scanf("%d", &now);
    if (now < 0) {
      now = -now;
      int l = 0, r = 1000005 - 1;
      while (r - l > 1) {
        int m = (l + r) / 2;
        if (query(m) >= now)
          r = m;
        else
          l = m;
      }
      add(r, -1);
    } else
      add(now, 1);
  }
  if (query(1000005 - 1) == 0)
    printf("0\n");
  else {
    for (int i = 1; i <= n; i++)
      if (query(i) > 0) {
        printf("%d\n", i);
        return 0;
      }
  }
  return 0;
}
