#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
const char nl = '\n';
long long n, ar[100010], R;
double ta[100010], tb[100010];
bool chk(double x) {
  double a = 0, b = 0, cx = 0;
  int s = 1, i;
  for (i = 1; i <= n + 1; i++) {
    if (cx + ta[i] >= x) {
      a += (x - cx) * s;
      break;
    }
    cx += ta[i];
    a += ta[i] * s;
    s++;
  }
  s = 1, cx = 0;
  for (i = n; i >= 0; i--) {
    if (cx + tb[i] >= x) {
      b += (x - cx) * s;
      break;
    }
    cx += tb[i];
    b += tb[i] * s;
    s++;
  }
  return R - b > a;
}
void solve() {
  long long i, j, k, u, v, x, y;
  cin >> n >> R;
  for (i = 1; i <= n; i++) cin >> ar[i];
  ar[0] = 0, ar[n + 1] = R;
  x = 1;
  for (i = 1; i <= n + 1; i++) {
    ta[i] = ((ar[i] - ar[i - 1]) * 1.0) / (x++);
  }
  x = 1;
  for (i = n; i >= 0; i--) {
    tb[i] = ((ar[i + 1] - ar[i]) * 1.0) / (x++);
  }
  double l = 0, r = 1e9, m, ans = 0;
  for (i = 0; i < 60; i++) {
    m = (l + r) / 2;
    if (chk(m)) {
      ans = m;
      l = m;
    } else
      r = m;
  }
  cout.precision(9);
  cout << fixed << ans << nl;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int t = 1, i = 1;
  cin >> t;
  while (t--) {
    solve();
  }
  return 0;
}
