#include <bits/stdc++.h>
using namespace std;
double mit;
vector<pair<double, double> > pd;
int n, m;
double v, u;
bool check(double t) {
  for (int i = 0; i < n; i++) {
    pair<double, double> a = pd[i], b = pd[i + 1];
    double x1 = a.second / u + v * t;
    double x2 = b.second / u + v * t;
    if ((a.first - x1) * (b.first - x2) < 0) return false;
  }
  return true;
}
int main() {
  bool flg = 1;
  scanf("%d%d%lf%lf", &n, &m, &v, &u);
  mit = m / u;
  for (int i = 0; i < n; i++) {
    double tx, ty;
    scanf("%lf%lf", &tx, &ty);
    if (ty / u * v > tx) flg = false;
    mit = max(mit, tx / v - ty / u + m / u);
  }
  printf("%.10f\n", flg ? m / u : mit);
  return 0;
}
