#include <bits/stdc++.h>
using namespace std;
bool sync_with_stdio(bool sync = true);
const int MaxN = 100000;
long long t[MaxN], v[MaxN];
const double eps = 1e-8;
double getTime(long long t, long long v, long long d, long long a) {
  double dist = v * v / (2.0 * a);
  double time = sqrt((2.0 * d) / a);
  double res = 0;
  if (dist - eps < d) {
    time = sqrt((2.0 * dist) / a);
    res = time + (d - dist) / v;
  } else {
    res = time;
  }
  return res + t;
}
int main() {
  long long n, a, d;
  scanf("%I64d%I64d%I64d", &n, &a, &d);
  for (int i = 0; i < n; i++) scanf("%I64d%I64d", &t[i], &v[i]);
  double nowTime = getTime(t[0], v[0], d, a);
  cout.precision(20);
  cout << nowTime << endl;
  for (int i = 1; i < n; i++) {
    double q = getTime(t[i], v[i], d, a);
    if (q - eps < nowTime)
      cout << nowTime << endl;
    else {
      nowTime = q;
      cout << q << endl;
    }
  }
}
