#include <bits/stdc++.h>
using namespace std;
const int MAXN = 10010;
struct point {
  long long x, y;
} p[MAXN];
int main() {
  int n;
  long long w, v, u;
  scanf("%d%I64d%I64d%I64d", &n, &w, &v, &u);
  for (int i = 0; i < n; i++) {
    scanf("%I64d%I64d", &p[i].x, &p[i].y);
  }
  long long mn = 1LL, mx = -1LL;
  for (int i = 0; i < n; i++) {
    mn = min(mn, u * p[i].x - v * p[i].y);
    mx = max(mx, u * p[i].x - v * p[i].y);
  }
  if (mx > 0LL && mn < 0LL) {
    printf("%.10f\n", 1.0 * mx / u / v + 1.0 * w / u);
  } else {
    printf("%.10f\n", 1.0 * w / u);
  }
  return 0;
}
