#include <bits/stdc++.h>
using namespace std;
int N, A, D;
pair<int, int> B[1 << 17];
double best[1 << 17];
int main() {
  scanf("%d %d %d", &N, &A, &D);
  for (int i = 0; i < (int)(N); ++i) {
    int t, v;
    scanf("%d %d", &t, &v);
    B[i] = make_pair(t, v);
  }
  for (int i = 0; i < (int)(N); ++i) {
    double start = B[i].first;
    double v = B[i].second;
    double t = v / A;
    double dist = A * t * t / 2.0;
    if (dist < D) {
      t += (D - dist) / v;
    } else {
      t = sqrt(2 * D / (double)A);
    }
    if (i)
      best[i] = max(best[i - 1], start + t);
    else
      best[i] = start + t;
    printf("%.10lf\n", best[i]);
  }
  return 0;
}
