#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
int lowbit(int x) { return x & (-x); }
int n, c[N << 1];
void add(int x, int num) {
  while (x <= N) {
    c[x] += num;
    x += lowbit(x);
  }
}
int sum(int x) {
  int ans = 0;
  while (x) {
    ans += c[x];
    x -= x & (-x);
  }
  return ans;
}
int find_kth(int k) {
  int ans = 0, cnt = 0;
  for (int i = 20; i >= 0; i--) {
    ans += (1 << i);
    if (ans >= N || cnt + c[ans] >= k)
      ans -= (1 << i);
    else
      cnt += c[ans];
  }
  return ans + 1;
}
int main() {
  int n, m;
  scanf("%d %d", &n, &m);
  for (int i = 1; i <= n; i++) {
    int a;
    scanf("%d", &a);
    add(a, 1);
  }
  int sz = n;
  for (int i = 1; i <= m; i++) {
    int a;
    scanf("%d", &a);
    if (a < 0) {
      sz--;
      int l = 1, r = 1e6;
      int ans = find_kth(-a);
      add(ans, -1);
    } else {
      sz++;
      add(a, 1);
    }
  }
  if (sz == 0)
    puts("0");
  else {
    cout << find_kth(1);
  }
  return 0;
}
