#include <bits/stdc++.h>
using namespace std;
struct aa {
  int x, y;
};
int T, m, n, q, w, mi, ma, cnt, s, t, fi, cc, e, r, z, x, an;
int acc, d;
double cur, pre;
aa a[100010];
double ecdis(int x) {
  double t = (double)a[x].y / (double)acc;
  return (0.5 * acc * t * t);
}
double ectime(int x) {
  double t = (double)a[x].y / (double)acc;
  return t;
}
double les() { return sqrt(2.0 * d / acc); }
int main() {
  scanf("%d%d%d", &n, &acc, &d);
  for (int i = 0; i < n; i++) {
    scanf("%d%d", &a[i].x, &a[i].y);
  }
  pre = -1;
  for (int i = 0; i < n; i++) {
    if (ecdis(i) < d)
      cur = a[i].x + ectime(i) + (d - ecdis(i)) / a[i].y;
    else
      cur = a[i].x + les();
    if (cur > pre) {
      printf("%.10f\n", cur);
      pre = cur;
    } else {
      printf("%.10f\n", pre);
    }
  }
  return 0;
}
