#include <bits/stdc++.h>
using namespace std;
int n, a, d, t, v;
double tim[200000];
double jisuan(double a, double vmax, double s) {
  double t = (vmax) / a;
  if (0.5 * a * t * t > s)
    return sqrt(s * 2 / a);
  else
    return t + (s - 0.5 * a * t * t) / vmax;
}
int main() {
  scanf("%d%d%d", &n, &a, &d);
  scanf("%d%d", &t, &v);
  tim[1] = t + jisuan(a, v, d);
  for (int i = 2; i <= n; ++i) {
    scanf("%d%d", &t, &v);
    tim[i] = t + jisuan(a, v, d);
    if (tim[i] < tim[i - 1]) tim[i] = tim[i - 1];
  }
  for (int i = 1; i <= n; ++i) printf("%.10lf\n", tim[i]);
  return 0;
}
