#include <bits/stdc++.h>
using namespace std;
int main(int argc, char** argv) {
  int n, k, d;
  cin >> n >> k >> d;
  vector<pair<int, int> > A(n);
  for (int i = 0; i < n; i++) {
    cin >> A[i].first >> A[i].second;
    A[i].second = -A[i].second;
  }
  sort(A.begin(), A.end());
  double prev = -1;
  for (int i = 0; i < n; i++) {
    double t = 1. * -A[i].second / k;
    double s = t * t * k / 2;
    if (s < d) {
      double p = (1. * d - s) / -A[i].second;
      t += p;
    } else {
      t = sqrt(1. * d / k * 2);
    }
    t += A[i].first;
    if (prev < t) {
      prev = t;
      cout << fixed << setprecision(6) << t << endl;
    } else
      cout << fixed << setprecision(6) << prev << endl;
  }
  return 0;
}
