#include <bits/stdc++.h>
using namespace std;
inline int ckmax(int &a, int b) { return a < b ? a = b, 1 : 0; }
inline int ckmin(int &a, int b) { return a > b ? a = b, 1 : 0; }
int n, r, x[1010];
double y[1010];
int main() {
  scanf("%d%d", &n, &r);
  for (int i = 1; i <= n; ++i) {
    scanf("%d", x + i);
    y[i] = r;
    for (int j = 1; j < i; ++j) {
      if (abs(x[i] - x[j]) <= 2 * r) {
        int d = abs(x[i] - x[j]);
        double l = sqrt(4 * r * r - d * d);
        y[i] = max(y[i], y[j] + l);
      }
    }
    printf("%.10f ", y[i]);
  }
  return 0;
}
