#include <bits/stdc++.h>
using namespace std;
const long long MAXN = 1e6 + 5, MOD = 1e9 + 7, SIZE = 1e6 + 5;
const int INFi = 0x7f7f7f7f;
const double EPS = 1e-9, PI = acos(-1);
long long n, q, x;
vector<int> BIT(MAXN);
void update(int i, int add) {
  while (i > 0 && i < BIT.size()) {
    BIT[i] += add;
    i = i + (i & (-i));
  }
}
int sum(int i) {
  int ans = 0;
  while (i > 0) {
    ans += BIT[i];
    i = i - (i & (-i));
  }
  return ans;
}
int findKthSmallest(int k) {
  int l = 0;
  int h = BIT.size();
  while (l < h) {
    int mid = (l + h) / 2;
    if (k <= sum(mid))
      h = mid;
    else
      l = mid + 1;
  }
  return l;
}
void insertElement(int x) { update(x, 1); }
void deleteElement(int x) { update(x, -1); }
int findRank(int x) { return sum(x); }
void solve() {
  cin >> n >> q;
  for (long long i = 0; i < n; i++) {
    cin >> x;
    insertElement(x);
  }
  for (long long i = 0; i < q; i++) {
    cin >> x;
    if (x < 0)
      deleteElement(findKthSmallest(-x));
    else
      insertElement(x);
  }
  x = findKthSmallest(1);
  if (x != MAXN)
    cout << x << '\n';
  else
    cout << 0 << '\n';
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  solve();
  return 0;
}
