#include <bits/stdc++.h>
using namespace std;
long long a[400001], b[400001], c[400001], k;
int dp(long long v, long long q) {
  long long i, w, d, t = 0;
  for (i = 1; i <= k; i++) {
    d = c[i] - c[i - 1];
    if (d > v) return 0;
    if (d * 2 <= v)
      t += d;
    else
      w = 2 * d - v, t += w + d;
    if (t > q) return 0;
  }
  return 1;
}
int main() {
  ios_base::sync_with_stdio(0);
  long long i, n, s, t, l, r, m, w, d;
  cin >> n >> k >> s >> t;
  for (i = 1; i <= n; i++) cin >> a[i] >> b[i];
  for (i = 1; i <= k; i++) cin >> c[i];
  k++;
  c[k] = s;
  sort(c + 1, c + 1 + k);
  l = 1;
  r = 3ll * s;
  while (l + 1 < r) {
    m = (l + r) / 2;
    if (dp(m, t) == 0)
      l = m;
    else
      r = m;
  }
  d = -1;
  if (dp(l, t) == 1)
    d = l;
  else if (dp(r, t) == 1)
    d = r;
  if (d == -1)
    cout << "-1";
  else {
    w = -1;
    for (i = 1; i <= n; i++)
      if (b[i] >= d)
        if (w == -1 || w > a[i]) w = a[i];
    cout << w;
  }
  return 0;
}
