#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-6;
signed main() {
  long long T, n, len;
  for (scanf("%lld", &T); T--;) {
    scanf("%lld%lld", &n, &len);
    vector<double> a(n + 6);
    for (long long i = 1; i <= n; i++) {
      scanf("%lf", &a[i]);
    }
    a[n + 1] = len;
    function<long long(double)> check = [&](double t) {
      double dis = 0, c = 0;
      for (long long i = 1; i <= n + 1; i++) {
        if (c + (a[i] - a[i - 1]) / i < t) {
          c += (a[i] - a[i - 1]) / i;
          dis = a[i];
        } else {
          dis += (t - c) * i;
          break;
        }
      }
      double dis2 = 0;
      c = 0;
      for (long long i = n; i >= 0; i--) {
        if (c + (a[i + 1] - a[i]) / (n - i + 1) < t) {
          c += (a[i + 1] - a[i]) / (n - i + 1);
          dis2 = len - a[i];
        } else {
          dis2 += (t - c) * (n - i + 1);
          break;
        }
      }
      return dis + dis2 >= len;
    };
    double l = 0, r = 1e18;
    while (r - l >= eps) {
      double m = (l + r) / 2;
      if (check(m)) {
        r = m;
      } else {
        l = m;
      }
    }
    printf("%.8lf\n", l);
  }
}
