#include <bits/stdc++.h>
using namespace std;
string vrati(string a) {
  string b;
  for (int i = 0; i < a.size(); i++) {
    if (a[i] != ' ') b += a[i];
  }
  return b;
}
int main() {
  int i, j, k, l, n, e, f;
  int x, y;
  double s, c;
  int a;
  int d;
  double *b = new double[100000];
  double m;
  cin >> n;
  cin >> a;
  cin >> d;
  cin >> k;
  cin >> l;
  m = (double)l / (double)a;
  s = 0.5 * a * m * m;
  if (s > d)
    b[0] = (double)k + sqrt(2.0 * (double)d / (double)a);
  else
    b[0] = m + (double)k + ((double)d - s) / (double)l;
  for (i = 1; i < n; i++) {
    cin >> k;
    cin >> l;
    m = (double)l / (double)a;
    s = 0.5 * a * m * m;
    if (s > d)
      c = (double)k + sqrt(2.0 * (double)d / (double)a);
    else
      c = m + (double)k + ((double)d - s) / (double)l;
    b[i] = max(b[i - 1], c);
  }
  for (i = 0; i < n; i++) printf("%10lf\n", b[i]);
  return 0;
}
