#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e4 + 7;
const int inf = 0x3f3f3f3f;
struct p {
  double x, y;
} q[maxn];
int main() {
  long long n, w, v, u;
  cin >> n >> w >> v >> u;
  bool ok1 = true, ok2 = true;
  double ans = 0.0;
  for (int i = 0; i < (long long)n; i++) {
    cin >> q[i].x >> q[i].y;
    if (q[i].x / (double)v > q[i].y / (double)u) ok1 = false;
    if (q[i].x / (double)v < q[i].y / (double)u) ok2 = false;
    ans = max(ans, q[i].x / (double)v + (w - q[i].y) / (double)u);
  }
  if (ok1 || ok2) ans = (double)w / (double)u;
  printf("%.10lf\n", ans);
  return 0;
}
