#include <bits/stdc++.h>
using namespace std;
int sum(vector<int>& a, int i) {
  int ans = 0;
  while (i) {
    ans += a[i];
    i -= (i & (-1 * i));
  }
  return ans;
}
int find(vector<int>& a, int& target) {
  int low = 1, high = a.size() - 1, mid;
  while (low < high) {
    mid = low + (high - low) / 2;
    if (sum(a, mid) < target) {
      low = mid + 1;
    } else {
      high = mid;
    }
  }
  return low;
}
void update(vector<int>& a, int i, int& add) {
  while (1) {
    a[i] += add;
    i += (i & (-1 * i));
    if (i >= a.size()) {
      return;
    }
  }
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  int n, q, i, temp, add;
  cin >> n >> q;
  vector<int> x(n, 0), a(n + 1, 0);
  for (i = 0; i < n; i++) {
    cin >> temp;
    temp--;
    x[temp]++;
  }
  for (i = 0; i < n; i++) {
    update(a, i + 1, x[i]);
  }
  for (i = 1; i <= n; i++) {
  }
  for (i = 0; i < q; i++) {
    cin >> temp;
    add = 1;
    if (temp < 0) {
      temp *= -1;
      add = -1;
      temp = find(a, temp);
    }
    update(a, temp, add);
  }
  for (i = 0; i <= n; i++) {
    if (a[i]) {
      cout << i << endl;
      return 0;
    }
  }
  cout << "0" << endl;
  return 0;
}
