#include <bits/stdc++.h>
using namespace std;
const int INF = (int)1e9;
const long long INF64 = (long long)1e18;
const long double eps = 1e-9;
const long double pi = 3.14159265358979323846;
struct troll {
  int t, v, n;
};
int main() {
  int n, a, d;
  scanf("%d%d%d", &n, &a, &d);
  vector<int> time(n), speed(n);
  for (int i = 0; i < int(n); ++i) scanf("%d%d", &time[i], &speed[i]);
  double prev = -INF;
  for (int i = 0; i < n; i++) {
    double t = double(time[i]);
    double v = double(speed[i]);
    double aa = double(a);
    double dd = double(d);
    double l = 0, r = 100000000;
    for (int iter = 0; iter < int(100); ++iter) {
      double t0 = (l + r) / 2;
      double ta = v / aa;
      if (ta - eps > t0) ta = t0;
      double dist = ta / 2 * ta * aa;
      if (ta + eps < t0) dist += v * (t0 - ta);
      if (dist + eps > dd)
        r = t0;
      else
        l = t0;
    }
    l += t;
    if (l - eps > prev) {
      printf("%0.6lf\n", l);
      prev = l;
    } else
      printf("%0.6lf\n", prev);
  }
  return 0;
}
