#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:16777216")
using namespace std;
template <typename T>
inline bool remin(T& c, const T& n) {
  if (c > n) {
    c = n;
    return 1;
  }
  return 0;
}
template <typename T>
inline bool remax(T& c, const T& n) {
  if (c < n) {
    c = n;
    return 1;
  }
  return 0;
}
const int N = 100000;
int main() {
  double prev = 0.0, left, right, ac, d, middle, speed, v, path;
  int n, t, i;
  scanf("%d%lf%lf", &n, &ac, &d);
  while (--n >= 0) {
    scanf("%d%lf", &t, &v);
    left = 0;
    right = 1e12;
    for ((i) = (0); (i) < (200); ++(i)) {
      middle = (left + right) / 2.0;
      speed = middle * ac;
      path = (middle * middle * ac) / 2.0;
      (path < d && speed < v ? left : right) = middle;
    }
    printf("%.9lf\n",
           prev = max(prev, double(t) + middle + (d - path) / speed));
  }
  return 0;
}
