#include <bits/stdc++.h>
#pragma GCC optimize("Ofast,no-stack-protector")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#pragma GCC optimize("unroll-loops")
const int dx[] = {0, -1, 0, 1, -1, 1, 1, -1, -2, -2, 2, 2, -1, -1, 1, 1};
const int dy[] = {-1, 0, 1, 0, 1, 1, -1, -1, -1, 1, -1, 1, -2, 2, -2, 2};
using namespace std;
bool check(int &N, int &pos) { return (bool)(N & (1 << pos)); }
int sset(int N, int &pos) { return N = N | (1 << pos); }
void lineInput(string &x, int lineLength = 10000) {
  char line[lineLength + 5];
  scanf(" %[^\n]", line);
  x = string(line);
}
void wordInput(string &x, int wordLength = 10000) {
  char word[wordLength + 5];
  scanf(" %s", word);
  x = string(word);
}
int main(int argc, char const *argv[]) {
  int n, b, s;
  scanf("%d %d %d", &n, &b, &s);
  vector<int> nums(n);
  for (int i = 0; i < n; i++) scanf("%d", &nums[i]);
  long long dx, dy;
  scanf("%lld %lld", &dx, &dy);
  double mn = 1e10;
  int ans = -1;
  for (int i = 1; i < n; i++) {
    double t = sqrt((dx - nums[i]) * (dx - nums[i]) + dy * dy) / s;
    t += nums[i] / 1.0 / b;
    if (t <= mn) {
      mn = t;
      ans = i;
    }
  }
  printf("%d", ans + 1);
  return 0;
}
