#include <bits/stdc++.h>
using namespace std;
const int PINF = numeric_limits<int>::max();
const int NINF = numeric_limits<int>::min();
const long long M = 1E9 + 7;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  long long n, a, d;
  cin >> n >> a >> d;
  vector<long long> t(n + 1), v(n + 1);
  vector<double> dp(n + 1);
  for (int i = 1; i <= n; i++) {
    cin >> t[i] >> v[i];
  }
  dp[0] = 0;
  for (int i = 1; i <= n; i++) {
    double finish_time;
    if (v[i] > sqrt(2 * a * d)) {
      finish_time = t[i] + sqrt(2.0 * d / (double)a);
    } else {
      double accelerating_time = v[i] / (double)a;
      double constant_time = d / (double)v[i] - v[i] / (2.0 * a);
      finish_time = t[i] + accelerating_time + constant_time;
    }
    dp[i] = max(dp[i - 1], finish_time);
    printf("%0.10f\n", dp[i]);
  }
  return 0;
}
