#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, ns, ss;
  cin >> n >> ns >> ss;
  ss++;
  set<pair<int, int> > s;
  s.insert(make_pair(0, n + 1));
  int ans = (n + 1) / ss;
  int x, q;
  cin >> q;
  for (int i = 0; i < q; i++) {
    scanf("%d", &x);
    auto it = s.upper_bound(make_pair(x, 0));
    it--;
    int lo = it->first, hi = it->second;
    s.erase(it);
    ans = ans - (hi - lo) / ss;
    s.insert(make_pair(lo, x));
    s.insert(make_pair(x, hi));
    ans = ans + ((x - lo) / ss);
    ans = ans + ((hi - x) / ss);
    if (ans < ns) {
      cout << i + 1 << endl;
      return 0;
    }
  }
  cout << "-1\n";
  return 0;
}
