#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
int n, A, D;
double a, d;
vector<double> t, v;
void solve() {
  double prevT = 0;
  for (int i = 0; i < n; i++) {
    double tm = v[i] / a;
    double sm = .5 * a * tm * tm;
    double currT = t[i];
    if (sm >= d) {
      double tp = sqrt((2 * d) / a);
      currT += tp;
    } else {
      currT += tm;
      double rest = d - sm;
      currT += rest / v[i];
    }
    currT = max(currT, prevT);
    cout << fixed;
    cout << setprecision(10) << currT << endl;
    prevT = currT;
  }
}
int main() {
  while (cin >> n >> A >> D) {
    a = A;
    d = D;
    t = vector<double>(n);
    v = vector<double>(n);
    for (int i = 0; i < n; i++) {
      int T, V;
      scanf("%d %d", &T, &V);
      t[i] = T;
      v[i] = V;
    }
    solve();
  }
}
