#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 100;
const double eps = 1e-11;
struct Point {
  double x, y;
} p[N];
int n;
double w, v, u;
bool first() {
  for (int i = 1; i <= n; i++)
    if (p[i].y / u > p[i].x / v) return false;
  return true;
}
void solve() {
  double ans = 0.0;
  double minn = w / u;
  for (int i = 1; i <= n; i++) {
    double maxx = max(p[i].y / u, p[i].x / v);
    ans = max(ans, maxx + minn - p[i].y / u);
  }
  printf("%.10lf\n", ans);
}
int main() {
  scanf("%d", &n);
  scanf("%lf%lf%lf", &w, &v, &u);
  for (int i = 1; i <= n; i++) {
    scanf("%lf%lf", &p[i].x, &p[i].y);
  }
  if (first()) {
    printf("%.10lf\n", w / u);
    return 0;
  }
  solve();
  return 0;
}
