#include <bits/stdc++.h>
using namespace std;
vector<long double> fgs;
void doit() {
  long long n, l;
  cin >> n >> l;
  fgs.clear();
  fgs.push_back(0);
  long double loc;
  for (long long i = 0; i <= n - 1; i++) {
    cin >> loc;
    fgs.push_back(loc);
  }
  fgs.push_back(l);
  long long f_left = 0;
  long long f_right = (long long)(fgs.size() - 1);
  long double p1 = 0;
  long double p2 = l;
  long double s1 = 1;
  long double s2 = 1;
  long double ans = 0;
  while (true) {
    if (f_left == f_right) {
      break;
    }
    if (f_left == f_right - 1) {
      long double cp = (s1 * p2 + s2 * p1) / (s2 + s1);
      long double cpt = (cp - p1) / s1;
      ans += cpt;
      break;
    } else {
      long double t1 = (fgs[f_left + 1] - p1) / s1;
      long double t2 = (p2 - fgs[f_right - 1]) / s2;
      if (t1 < t2) {
        ans += t1;
        p1 = fgs[f_left + 1];
        f_left++;
        s1 = s1 + 1;
        p2 = p2 - (s2 * t1);
        if (p2 < fgs[f_right - 1]) {
          p2 = fgs[f_right - 1];
          f_right--;
        }
      } else {
        ans += t2;
        p2 = fgs[f_right - 1];
        f_right--;
        s2 = s2 + 1;
        p1 = p1 + (s1 * t2);
        if (p1 > fgs[f_left + 1]) {
          p1 = fgs[f_left + 1];
          f_left++;
        }
      }
    }
  }
  cout << fixed << setprecision(14) << ans << endl;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long long t = 1;
  cin >> t;
  while (t--) {
    doit();
  }
}
