#include <bits/stdc++.h>
using namespace std;
template <typename T>
T abs(T a) {
  return a < 0 ? -a : a;
}
template <typename T>
T sqr(T a) {
  return a * a;
}
const int INF = (int)1e9;
const long double EPS = 1e-9;
const long double PI = 3.1415926535897932384626433832795;
int n, a, d;
inline long double getDist(long double t, long double a, long double maxV) {
  long double spd = maxV / a;
  long double ans = 0;
  if (spd < t) {
    ans += maxV * (t - spd);
    t = spd;
  }
  ans += (a * t * t) / 2;
  return ans;
}
inline long double getTime(long double d, long double a, long double maxV) {
  long double lf = 0, rg = 2000000;
  for (int i = 0; i < int(100); ++i) {
    long double mid = (lf + rg) / 2;
    if (getDist(mid, a, maxV) > d)
      rg = mid;
    else
      lf = mid;
  }
  return lf;
}
int main() {
  cin >> n >> a >> d;
  long double prev = 0;
  for (int i = 0; i < int(n); ++i) {
    int t, v;
    scanf("%d %d", &t, &v);
    long double ft = getTime(d, a, v) + t;
    ft = max(ft, prev);
    prev = ft;
    printf("%0.10lf\n", (double)ft);
  }
  return 0;
}
