#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 7 + 20000;
double x[MAX_N];
double y[MAX_N];
int main() {
  int n;
  double w, v, u;
  scanf("%d%lf%lf%lf", &n, &w, &v, &u);
  for (int i = 1; i <= n; i++) scanf("%lf%lf", &x[i], &y[i]);
  for (int i = 1; i <= n; i++) {
    x[n + i] = x[i];
    y[n + i] = y[i];
  }
  bool can = true;
  for (int i = 1; i <= n; i++)
    if (x[i] * u < y[i] * v) can = false;
  if (can) {
    printf("%.10f\n", w / u);
    return 0;
  }
  int S = 1;
  for (int i = 2; i <= n; i++)
    if (x[i] < x[S]) S = i;
  for (; y[S + 1] <= y[S]; S++)
    ;
  double posi = min(u * x[S] / v, y[S]);
  double ans = x[S] / v;
  for (;; S++) {
    if (x[S + 1] <= x[S]) break;
    double tim = (x[S + 1] - x[S]) / v;
    double new_posi = min(posi + tim * u, y[S + 1]);
    ans += max((new_posi - posi) / u, tim);
    posi = new_posi;
  }
  ans += (w - posi) / u;
  printf("%.10f\n", ans);
}
