#include <bits/stdc++.h>
using namespace std;
long long arr[100005];
long long n, l;
int good(double t) {
  long long i;
  double s = 1, u = 0, v = 0, q = 1, time = t;
  double start = 0, end = l;
  for (i = 1; i <= n + 1; i++) {
    u = arr[i] - start;
    v = (double)u / s;
    if (v <= time) {
      start = arr[i];
      s++;
      time -= v;
    } else {
      start += time * s;
      break;
    }
  }
  for (i = n; i >= 0; i--) {
    u = (end - arr[i]) / q;
    if (u <= t) {
      end = arr[i];
      q++;
      t -= u;
    } else {
      end -= t * q;
      break;
    }
  }
  return end <= start;
}
void solve() {
  double t;
  long long i;
  cin >> n >> l;
  for (i = 1; i <= n; i++) cin >> arr[i];
  arr[n + 1] = l;
  double a = 0, b = 1e10;
  for (i = 0; i < 100; i++) {
    t = (double)(a + b) / 2;
    if (good(t))
      b = t;
    else
      a = t;
  }
  cout << fixed << setprecision(10) << b << "\n";
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int tests = 1;
  cin >> tests;
  while (tests--) solve();
  return 0;
}
