#include <bits/stdc++.h>
using namespace std;
const int Nmax = 1e4 + 17;
const double eps = 1e-6;
const double ttt = 1e-9;
int x[Nmax];
int y[Nmax];
int n, v, w, u;
bool isSolve(double t) {
  double k = u / static_cast<double>(v);
  int p = 0, q = 0;
  for (int i = 0; i < n; i++) {
    double tmp = y[i] - k * (x[i] - t * v);
    if (tmp > ttt) p++;
    if (tmp < -ttt) q++;
  }
  if (p == 0 || q == 0)
    return true;
  else
    return false;
}
int main() {
  scanf("%d%d%d%d", &n, &w, &v, &u);
  for (int i = 0; i < n; i++) scanf("%d%d", &x[i], &y[i]);
  if (isSolve(0)) {
    printf("%.7Lf", w / static_cast<double>(u));
    return 0;
  }
  double l = 0, r = 1e9 + 7;
  double m;
  while (r - l > eps) {
    m = (l + r) / 2;
    if (isSolve(m))
      r = m;
    else
      l = m;
  }
  if (isSolve(l))
    printf("%.7Lf", l + w / static_cast<double>(u));
  else
    printf("%.7Lf", r + w / static_cast<double>(u));
}
