#include <bits/stdc++.h>
using namespace std;
int n, k, a, m, cur;
set<int> S;
int main() {
  cin >> n >> k >> a;
  cin >> m;
  S.insert(0);
  S.insert(n + 1);
  cur = (n + 1) / (a + 1);
  for (int i = 0; i < m; i++) {
    int x;
    cin >> x;
    auto prv = S.lower_bound(x);
    auto nxt = prv;
    prv--;
    cur -= (*nxt - *prv) / (a + 1);
    cur += (x - *prv) / (a + 1);
    cur += (*nxt - x) / (a + 1);
    S.insert(x);
    if (cur < k) return cout << i + 1, 0;
  }
  cout << -1;
}
