func_code_string: #include <bits/stdc++.h>   using namespace std;   set<long long> s, s1;   std::set<long long>::iterator l, h;   int main() {     long long n, i, j, k, a, p, low, high, m;     bool flag = false;     scanf( %lld %lld %lld , &n, &k, &a);     scanf( %lld , &m);     a++;     p = (n + 1) / a;     long long q = k;     s.insert(0);     s.insert(n + 1);     s1.insert(0);     s1.insert(-n - 1);     for (i = 1; i <= m; i++) {       scanf( %lld , &k);       if (!flag && k <= n && k >= 1) {         l = s.lower_bound(k);         if (l != s.begin()) --l;         h = s1.lower_bound(-k);         low = *l;         if (h != s1.begin()) --h;         high = -*h;         long long z = p - ((high - low) / a) + (k - low) / a + (high - k) / a;         if (z < q) {           printf( %lld , i);           flag = true;         }         p = z;         s.insert(k);         s1.insert(-k);       }     }     if (!flag) printf( -1 );     return 0;   }   