#include <bits/stdc++.h>
using namespace std;
long long gcd(long long x, long long y) { return (!y) ? x : gcd(y, x % y); }
long long lcm(long long x, long long y) { return ((x / gcd(x, y)) * y); }
void fast() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
}
void file() { fast(); }
int x, y, z, s;
vector<int> org;
bool ok(int a) {
  int sum = 0, cnt = 0;
  vector<int> freq(200010);
  for (int i = 0; i < a; i++) {
    freq[org[i]] = 1;
  }
  for (int i = 1; i <= x; i++) {
    if (freq[i] == 0)
      sum++;
    else {
      sum = 0;
    }
    if (sum == z) {
      cnt++;
      sum = 0;
      i++;
    }
  }
  cnt += sum / z;
  return cnt < y;
}
int main() {
  fast();
  cin >> x >> y >> z >> s;
  org = vector<int>(s);
  for (int i = 0; i < s; i++) {
    cin >> org[i];
  }
  long long b = 1, e = s, ans = -1, mid;
  while (b <= e) {
    mid = (b + e) / 2;
    if (ok(mid)) {
      ans = mid;
      e = mid - 1;
    } else
      b = mid + 1;
  }
  cout << ans;
}
