#include <bits/stdc++.h>
using namespace std;
int n, a, k, m, x, cur;
set<int> s;
int main() {
  scanf("%d%d%d%d", &n, &k, &a, &m);
  s.insert(0);
  s.insert(n + 1);
  a++;
  cur = ((n + 1) / a);
  for (int i = 0; i < m; i++) {
    scanf("%d", &x);
    s.insert(x);
    int nx = *s.upper_bound(x);
    int pr = (*--s.lower_bound(x));
    cur -= (nx - pr) / a;
    cur += (nx - x) / a;
    cur += (x - pr) / a;
    if (cur < k) {
      printf("%d", i + 1);
      return 0;
    }
  }
  printf("-1");
  return 0;
}
