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