#include <bits/stdc++.h>
using namespace std;
struct point {
  long long x, y;
};
point arr[11111];
int main() {
  long long n, w, u, v;
  scanf("%lld%lld%lld%lld", &n, &w, &v, &u);
  bool before = 1;
  for (long long i = 0; i < n; i++) {
    scanf("%lld%lld", &arr[i].x, &arr[i].y);
    if (arr[i].x * u < arr[i].y * v) before = 0;
  }
  if (before) {
    printf("%.20lf", 1.0 * w / u);
    return 0;
  }
  double time = 0.0;
  for (long long i = 0; i < n; i++) {
    double t1, t2;
    t1 = max(1.0 * arr[i].x / v, 1.0 * arr[i].y / u);
    t2 = 1.0 * (w - arr[i].y) / u;
    time = max(time, t1 + t2);
  }
  printf("%.20lf", time);
  return 0;
}
