#include <bits/stdc++.h>
using namespace std;
int main() {
  double n, a, d;
  cin >> n >> a >> d;
  vector<pair<double, double> > v(n);
  for (int i = 0; i < n; i++) {
    cin >> v[i].first >> v[i].second;
  }
  vector<double> ans(n);
  double pre = 0;
  for (int i = 0; i < n; i++) {
    double now;
    double mv = v[i].second;
    if (d * 2 * a >= mv * mv) {
      now = (d - (mv * mv / 2 / a)) / mv + mv / a;
    } else {
      now = sqrt(2 * d / a);
    }
    now += v[i].first;
    if (pre > now) {
      ans[i] = pre;
    } else {
      ans[i] = now;
    }
    pre = ans[i];
  }
  for (int i = 0; i < n; i++) printf("%.10lf\n", ans[i]);
  return 0;
}
