#include <bits/stdc++.h>
using namespace std;
double t[100009], v[100009], sum[100009];
int main() {
  int n;
  double a, d;
  while (~scanf("%d%lf%lf", &n, &a, &d)) {
    for (int i = 0; i < n; i++) scanf("%lf%lf", &t[i], &v[i]);
    double time = v[0] / a;
    sum[0] = t[0] + time + (d - 0.5 * a * time * time) / v[0];
    if (0.5 * a * time * time > d)
      sum[0] = min(sum[0], t[0] + sqrt((2 * d) / a));
    for (int i = 1; i < n; i++) {
      double time1 = v[i] / a;
      sum[i] = t[i] + time1 + (d - 0.5 * a * time1 * time1) / v[i];
      if (0.5 * a * time1 * time1 > d)
        sum[i] = min(sum[i], t[i] + sqrt((2 * d) / a));
      sum[i] = max(sum[i], sum[i - 1]);
    }
    for (int i = 0; i < n; i++) printf("%.10f\n", sum[i]);
  }
  return 0;
}
