func_code_string: #include <bits/stdc++.h>   #pragma GCC target( avx2 )   #pragma GCC optimization( O3 )   #pragma GCC optimization( unroll-loops )   using namespace std;   const int N = 4000090, M = 1000000007;   int t[N];   void add(int x, int l, int r, int p, int v) {     if (p > r or p < l) return;     if (l == r) {       t[x] += v;       return;     }     int m = (l + r) / 2;     add(2 * x, l, m, p, v);     add(2 * x + 1, m + 1, r, p, v);     t[x] = t[2 * x] + t[2 * x + 1];     return;   }   int kth(int x, int l, int r, int k) {     if (l == r) return l;     int m = (l + r) / 2;     if (t[2 * x] >= k)       return kth(2 * x, l, m, k);     else       return kth(2 * x + 1, m + 1, r, k - t[2 * x]);   }   int main() {     int n, q, x;     scanf( %d %d , &n, &q);     for (int i = 0; i < n; ++i) scanf( %d , &x), add(1, 1, n, x, 1);     for (int Q = 0; Q < q; ++Q) {       scanf( %d , &x);       if (x > 0)         add(1, 1, n, x, 1);       else         add(1, 1, n, kth(1, 1, n, -x), -1);     }     if (!t[1])       puts( 0 );     else       printf( %d , kth(1, 1, n, 1));   }   