#include <bits/stdc++.h>
using namespace std;
double d(vector<long long>& a, double t) {
  double v = 1;
  double td = 0;
  for (size_t i = 1; i < a.size(); ++i) {
    auto dt = v * t;
    if (td + dt >= a[i]) {
      td += a[i] - a[i - 1];
      t -= (a[i] - a[i - 1]) / v;
      v += 1;
    } else {
      break;
    }
  }
  td += v * t;
  return td;
}
double C() {
  long long n, l;
  cin >> n >> l;
  vector<long long> a(n + 2);
  a[0] = 0;
  a[n + 1] = l;
  for (long long i = 0; i < n; ++i) {
    cin >> a[i + 1];
  }
  vector<long long> ra(n + 2);
  for (long long i = 0; i < n + 2; ++i) {
    ra[i] = l - a[n + 1 - i];
  }
  double mn = 0;
  double mx = 2 * l;
  while (mx - mn > 1e-7) {
    double t = (mx + mn) / 2;
    auto da = d(a, t);
    auto dra = d(ra, t);
    if (da + dra > l) {
      mx = t;
    } else {
      mn = t;
    }
  }
  return mn;
}
int main(void) {
  ios::sync_with_stdio(false);
  cin.tie(0);
  std::cout.precision(7);
  long long t;
  cin >> t;
  for (; t-- > 0;) {
    cout << C() << endl;
  }
  return 0;
}
