#include <bits/stdc++.h>
using namespace std;
struct ss {
  int v, t;
};
ss s[100006];
int n, a, d;
double tmm[100006];
double t1, t2, t3, s1;
int main() {
  scanf("%d%d%d", &n, &a, &d);
  for (int i = 0; i < n; i++) {
    scanf("%d%d", &s[i].t, &s[i].v);
    if (i == 0) {
      t1 = (s[i].v * 1.0) / (a * 1.0);
      s1 = .5 * a * t1 * t1;
      if (s1 >= d * 1.0 || fabs(s1 - d * 1.0) < 1e-9) {
        t2 = sqrt(2.0 * d / (a * 1.0));
        tmm[i] = s[i].t + t2;
      } else {
        t2 = (d * 1.0 - s1) / (s[i].v * 1.0);
        tmm[i] = t1 + s[i].t + t2;
      }
    } else {
      t1 = (s[i].v * 1.0) / (a * 1.0);
      s1 = .5 * a * t1 * t1;
      if (s1 >= d * 1.0 || fabs(s1 - d * 1.0) < 1e-9) {
        t2 = sqrt(2.0 * d / (a * 1.0));
        tmm[i] = s[i].t + t2;
      } else {
        t2 = (d * 1.0 - s1) / (s[i].v * 1.0);
        tmm[i] = t1 + s[i].t + t2;
      }
      if (tmm[i] < tmm[i - 1]) tmm[i] = tmm[i - 1];
    }
    printf("%.10lf\n", tmm[i]);
  }
  return 0;
}
