#include <bits/stdc++.h>
using namespace std;
template <class T>
void read(T& x) {
  T res = 0, f = 1;
  char num = getchar();
  while (!isdigit(num)) {
    if (num == '-') f = -1;
    num = getchar();
  }
  while (isdigit(num)) {
    res = (res << 3) + (res << 1) + num - '0';
    num = getchar();
  }
  x = res * f;
}
const long long N = 1000000 + 10;
int n, num[N];
int lowbit(int x) { return x & -x; }
void add(int x, int p) {
  while (x <= n) {
    num[x] += p;
    x += lowbit(x);
  }
}
int sum(int x) {
  int res = 0;
  while (x) {
    res += num[x];
    x -= lowbit(x);
  }
  return res;
}
int query(int x) {
  int t = 0;
  for (int i = 19; i >= 0; i--) {
    t += 1 << i;
    if (t > n || num[t] >= x)
      t -= 1 << i;
    else
      x -= num[t];
  }
  return t + 1;
}
int main() {
  int q;
  read(n), read(q);
  for (int i = 1; i <= n; i++) {
    int x;
    read(x);
    add(x, 1);
  }
  for (int i = 1; i <= q; i++) {
    int x;
    read(x);
    if (x > 0)
      add(x, 1);
    else if (x < 0) {
      x *= -1;
      add(query(x), -1);
    }
  }
  if (sum(n))
    printf("%d\n", query(1));
  else
    printf("0\n");
  return 0;
}
