#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
const ll MOD = 1e9 + 7;
const ll INF = 1e18 + 3;
ll power(ll x, ll y) {
  ll res = 1;
  x %= MOD;
  while (y > 0) {
    if (y & 1) res = (res * x) % MOD;
    y = y >> 1, x = (x * x) % MOD;
  }
  return res;
}
void pre();
void solve();
void post();
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int t = 1;
  cin >> t;
  pre();
  for (int tst = 1; tst <= t; tst++) {
    solve();
    post();
  }
}
void pre() {}
ll n, L;
ld d[100005];
bool chk(ld x) {
  ld d1 = 0, t1 = 0, s = 1;
  for (int i = 1; i <= n + 1; i++) {
    if ((d[i] - d1) / s + t1 >= x) {
      d1 += (x - t1) * s;
      break;
    }
    t1 += (d[i] - d1) / s;
    s += 1;
    d1 = d[i];
  }
  ld d2 = 0, t2 = 0, pre = L;
  s = 1;
  for (int i = n; i >= 0; i--) {
    if ((pre - d[i]) / s + t2 >= x) {
      d2 += (x - t2) * s;
      break;
    }
    t2 += (pre - d[i]) / s;
    s += 1;
    d2 += pre - d[i];
    pre = d[i];
  }
  return d1 + d2 - L > 1e-6;
}
void solve() {
  cin >> n >> L;
  for (int i = 1; i <= n; i++) cin >> d[i];
  d[0] = 0;
  d[n + 1] = L + 1;
  ld l = 0, r = 1e9;
  for (int i = 0; i < 50; i++) {
    if (r < l) break;
    ld mid = (l + r) / 2;
    if (chk(mid))
      r = mid;
    else
      l = mid;
  }
  cout << fixed << setprecision(12) << l << "\n";
}
void post() {}
