#include <bits/stdc++.h>
using namespace std;
int dx[] = {1, 0, -1, 0}, dy[] = {0, 1, 0, -1};
const double PI = acos(-1.0);
template <class T>
void debug(T a, T b) {
  for (T i = a; i != b; ++i) cout << *i << " ";
  cout << endl;
}
template <class T>
void chmin(T& a, const T& b) {
  if (a > b) a = b;
}
template <class T>
void chmax(T& a, const T& b) {
  if (a < b) a = b;
}
int n, a, d;
int main() {
  scanf("%d%d%d", &n, &a, &d);
  double back = 0;
  for (int i = 0; i < (int)n; ++i) {
    int t, v;
    scanf("%d%d", &t, &v);
    double most = (double)v / a;
    double lb = 0, ub = 1e7;
    for (int hoge = 0; hoge < (int)100; ++hoge) {
      double md = (lb + ub) / 2;
      double len = 0;
      if (md > most)
        len = most * v / 2 + (md - most) * v;
      else
        len = most * v / 2 * ((md / most) * (md / most));
      if (len > d)
        ub = md;
      else
        lb = md;
    }
    back = max(back, lb + t);
    printf("%.6f\n", back);
  }
  return 0;
}
