#include <bits/stdc++.h>
using namespace std;
const long long maxn = 1e5 + 5;
long long cnt[maxn], n, l;
bool check(double a) {
  double dist1 = 0, dist2 = 0;
  long long v1 = 1, v2 = 1;
  double t1 = 0, t2 = 0;
  for (long long i = 1; i <= n + 1; i++) {
    long long kk = cnt[i] - cnt[i - 1];
    if ((t1 + kk * 1.0 / v1) >= a) {
      dist1 += (a - t1) * v1;
      break;
    } else {
      t1 += kk * 1.0 / v1;
      dist1 += kk;
    }
    v1++;
  }
  for (long long i = n; i >= 0; i--) {
    long long kk = cnt[i + 1] - cnt[i];
    if (t2 + kk * 1.0 / v2 >= a) {
      dist2 += (a - t2) * v2;
      break;
    } else {
      t2 += kk * 1.0 / v2;
      dist2 += kk;
    }
    v2++;
  }
  if (dist1 + dist2 >= l)
    return true;
  else
    return false;
}
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long t;
  scanf("%lld", &t);
  while (t--) {
    scanf("%lld %lld", &n, &l);
    for (long long i = 1; i <= n; i++) scanf("%lld", &cnt[i]);
    cnt[n + 1] = l;
    double ll = 1, rr = l;
    double ans;
    while ((rr - ll) > 1e-7) {
      double mid = (rr + ll) * 1.0 / 2;
      if (check(mid)) {
        ans = mid;
        rr = mid;
      } else
        ll = mid;
    }
    printf("%.8lf\n", ans);
  }
  return 0;
}
