#include <bits/stdc++.h>
using namespace std;
struct av {
  double t, v, f;
};
av masiv[100000];
int main() {
  double a, d, t1, s;
  int i, n;
  cin >> n >> a >> d;
  for (i = 0; i < n; i++) {
    cin >> masiv[i].t >> masiv[i].v;
    t1 = masiv[i].v / (double)a;
    s = (a * t1 * t1 * 1.0) / (double)2;
    if (s > d) {
      t1 = sqrt((1.0 * 2 * d) / (double)a);
      s = d;
    }
    masiv[i].f = masiv[i].t + t1 + (d - s) / (double)masiv[i].v;
    if ((masiv[i].f < masiv[i - 1].f) && (i > 0)) {
      printf("%.10lf\n", masiv[i - 1].f);
      masiv[i].f = masiv[i - 1].f;
    } else
      printf("%.10lf\n", masiv[i].f);
  }
  fclose(stdin);
  fclose(stdout);
}
