#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O3", "unroll-loops")
#pragma GCC target("avx2", "popcnt")
template <typename Arg1>
void __f(const char* name, Arg1&& arg1) {
  cerr << name << " : " << arg1 << "\n";
}
template <typename Arg1, typename... Args>
void __f(const char* na, Arg1&& arg1, Args&&... args) {
  const char* c = strchr(na + 1, ',');
  cerr.write(na, c - na) << " : " << arg1 << " , ";
  __f(c + 1, args...);
}
const double pi = acos(-1.0);
const double eps = 1e-8;
const int inf = 1e9;
const long long INF = 1e18;
const int mod = 1e9 + 7;
const int N = 1e6 + 1;
template <typename T>
class fenwick_tree {
 public:
  int N;
  vector<T> bit;
  fenwick_tree(int sz) {
    N = sz;
    bit.resize(sz + 1, 0);
  }
  inline T r_query(int l, int r) { return p_query(r) - p_query(l - 1); }
  inline void p_update(int i, T v) {
    if (i <= 0) return;
    for (; i <= N; i += (i & -i)) bit[i] += v;
  }
  inline T p_query(int i) {
    T ret = 0;
    for (; i > 0; i -= (i & -i)) ret += bit[i];
    return ret;
  }
  inline void r_update(int i, int j, T v) {
    for (; i <= N; i += (i & -i)) bit[i] += v;
    j++, v *= -1;
    for (; j <= N; j += (j & -j)) bit[j] += v;
  }
};
void solve() {
  int n, q;
  cin >> n >> q;
  fenwick_tree<int> bit(n + 1);
  for (int i = 1; i <= n; i++) {
    int x;
    cin >> x;
    bit.p_update(x, +1);
  }
  auto bit_search = [&](int v) {
    int sum = 0;
    int pos = 0;
    int LOGN = log2(n);
    for (int i = LOGN; i >= 0; i--) {
      if (pos + (1 << i) <= n && sum + bit.bit[pos + (1 << i)] < v) {
        sum += bit.bit[pos + (1 << i)];
        pos += (1 << i);
      }
    }
    if (pos + 1 > n) return -1;
    return pos + 1;
  };
  while (q--) {
    int x;
    cin >> x;
    if (x < 0) {
      int num = bit_search(-x);
      bit.p_update(num, -1);
    } else
      bit.p_update(x, +1);
  }
  for (int i = 1; i <= n; i++) {
    if (bit.r_query(i, i)) {
      cout << i << "\n";
      return;
    }
  }
  cout << 0 << "\n";
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int t = 1;
  for (int tc = 1; tc <= t; tc++) solve();
  return 0;
}
