#include <bits/stdc++.h>
using namespace std;
const int N = 1e5;
vector<pair<pair<double, double>, int>> vec;
double ans[N];
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int n;
  cin >> n;
  double a, d;
  cin >> a >> d;
  for (int i = 0; i < n; i++) {
    double x, y;
    cin >> x >> y;
    vec.push_back({{x, y}, i});
  }
  sort(vec.begin(), vec.end());
  for (int i = 0; i < n; i++) {
    double t = vec[i].first.first, tt = vec[i].first.second / a,
           x = (a * tt * tt) / 2.0;
    if (x > d)
      t += sqrtl((2.0 * d) / a);
    else {
      t += tt;
      t += (d - x) / vec[i].first.second;
    }
    if (i)
      ans[vec[i].second] = max(ans[vec[i - 1].second], t);
    else
      ans[vec[i].second] = t;
  }
  cout << fixed << setprecision(10);
  for (int i = 0; i < n; i++) cout << ans[i] << endl;
  return 0;
}
