#include <bits/stdc++.h>
const long long mod = 1000000007;
const long long Inf = 1e9;
using namespace std;
bool valid(string s) {
  for (int i = 0; i < s.length(); ++i) {
    if (s[i] == ' ' || s[i] == '#') {
      if (s[i] == '#') return true;
    } else
      return false;
  }
  return false;
}
string wtSpace(string s) {
  string res = "";
  for (int i = 0; i < s.length(); ++i) {
    if (s[i] != ' ') res += s[i];
  }
  return res;
}
int main() {
  int n, a, d;
  scanf("%d %d %d", &n, &a, &d);
  vector<double> ans(n);
  for (int i = 0; i < n; i++) {
    int t, v;
    scanf("%d %d", &t, &v);
    double time = pow(2 * d / (double)a, 0.5);
    double time2 = v / (double)a;
    if (time <= time2)
      ans[i] = t + time;
    else {
      double x = a * pow(time2, 2) / 2.0;
      ans[i] = t + time2 + (d - x) / (double)v;
    }
  }
  for (int i = 0; i < n - 1; i++) {
    if (ans[i + 1] < ans[i]) ans[i + 1] = ans[i];
    printf("%.6f\n", ans[i]);
  }
  printf("%.6f\n", ans[n - 1]);
  return 0;
}
