#include <bits/stdc++.h>
using namespace std;
double epsilon = 0.0000001f;
long long mod = 1e12 + 7;
double Pi = acos(-1);
void print(vector<long long> V) {
  cout << "\n---------------Vector checking start-------------------\n";
  long long sz = V.size();
  for (int i = 0; i < sz; i++) {
    cout << V[i] << "  ";
  }
  cout << "\n----------------Vector checking end--------------------\n";
}
void print(long long arr[], long long n) {
  cout << "\n---------------Array checking start-------------------\n";
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  cout << "\n----------------Array checking end--------------------\n";
}
double dis(long long x1, long long y1, long long x2, long long y2) {
  long long a = (x2 - x1) * (x2 - x1);
  long long b = (y2 - y1) * (y2 - y1);
  return (double)sqrt(a + b);
}
int main() {
  {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
  }
  long long testCase = 1;
  while (testCase--) {
    long long n;
    double m, x, y, z, a, b, c, d, mx, mn, cnt, ans, temp, k, sum, sz, len;
    cin >> n >> a >> b;
    long long arr[n];
    for (int i = 0; i < n; i++) {
      cin >> arr[i];
    }
    cin >> x >> y;
    double time[n];
    k = dis(x, y, arr[1], 0);
    time[1] = (arr[1] / a) + (k / b);
    for (int i = 2; i < n; i++) {
      k = dis(x, y, arr[i], 0);
      time[i] = (arr[i] / a) + (k / b);
    }
    mn = time[1];
    for (int i = 2; i < n; i++) {
      mn = min(mn, time[i]);
    }
    k = 100000000.00;
    for (int i = 1; i < n; i++) {
      if ((time[i] - mn) <= epsilon) {
        temp = dis(x, y, arr[i], 0);
        if (temp < (k - epsilon)) {
          ans = i + 1;
          k = temp;
        }
      }
    }
    cout << ans << "\n";
  }
  return 0;
}
