#include <bits/stdc++.h>
using namespace std;
const int N = 100005;
int a[N], n;
long double t1[N], t2[N];
long double ch1(long double x) {
  int idx = n + 1;
  for (int i = 0; i <= n + 1; i++) {
    if (a[i] > x) {
      idx = i;
      break;
    }
  }
  int sp = idx;
  return t1[idx - 1] + (x - a[idx - 1]) / sp;
}
long double ch2(long double x) {
  int idx = 0;
  for (int i = 0; i <= n + 1; i++) {
    if (a[i] >= x) {
      idx = i;
      break;
    }
  }
  int sp = n + 1 - idx + 1;
  return t2[idx] + ((long double)a[idx] - x) / sp;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int t;
  cin >> t;
  cout << setprecision(9) << fixed;
  while (t--) {
    int l;
    cin >> n >> l;
    t1[0] = 0;
    int sp = 1;
    for (int i = 1; i <= n; i++) {
      cin >> a[i];
      t1[i] = t1[i - 1] + (long double)(a[i] - a[i - 1]) / sp;
      sp++;
    }
    t2[n + 1] = 0;
    sp = 1;
    a[n + 1] = l;
    for (int i = n; i > 0; i--) {
      t2[i] = t2[i + 1] + (long double)(a[i + 1] - a[i]) / sp;
      sp++;
    }
    long double L = 0, R = l;
    for (int i = 0; i < 200; i++) {
      long double mid = L + (R - L) / 2;
      if (ch1(mid) <= ch2(mid)) {
        L = mid;
      } else {
        R = mid;
      }
    }
    cout << ch1(L) << '\n';
  }
  return 0;
}
