#include <bits/stdc++.h>
using namespace std;
int n, a, d;
int t, v;
inline double getit(int t, int v) {
  double T1 = 1.0 * v / a;
  double Disall = 0.5 * a * T1 * T1;
  if (Disall >= d) return sqrt(2.0 * d / a) + t;
  return T1 + (1.0 * d - Disall) / v + t;
}
int main() {
  scanf("%d%d%d", &n, &a, &d);
  scanf("%d%d", &t, &v);
  double lstans;
  printf("%.10f\n", lstans = getit(t, v));
  for (int i = 1; i < n; i++) {
    scanf("%d%d", &t, &v);
    printf("%.10f\n", lstans = max(lstans, getit(t, v)));
  }
}
