#include <bits/stdc++.h>
using namespace std;
long double test, n, l;
long long int i, j;
long double st, md, en;
vector<long double> a(100001);
long double d1, d2, s1, s2, t;
bool bs(long double tim) {
  t = tim;
  d1 = 0;
  d2 = 0;
  s1 = 1;
  s2 = 1;
  if (s1 * t >= a[0]) {
    d1 += a[0];
    t -= a[0] / s1;
    s1++;
    for (i = 1; i < n; i++) {
      if (s1 * t >= a[i] - a[i - 1]) {
        d1 += a[i] - a[i - 1];
        t -= (a[i] - a[i - 1]) / s1;
        s1++;
      } else {
        break;
      }
    }
  }
  d1 += s1 * t;
  t = tim;
  if (s2 * t >= l - a[n - 1]) {
    d2 += l - a[n - 1];
    t -= d2 / s2;
    s2++;
    for (i = n - 2; i >= 0; i--) {
      if (s2 * t >= a[i + 1] - a[i]) {
        d2 += a[i + 1] - a[i];
        t -= (a[i + 1] - a[i]) / s2;
        s2++;
      } else {
        break;
      }
    }
  }
  d2 += s2 * t;
  return (d1 + d2 >= l);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> test;
  while (test--) {
    cin >> n >> l;
    for (i = 0; i < n; i++) {
      cin >> a[i];
    }
    st = 0;
    en = l;
    while (en - st > pow(10, -7)) {
      md = (st + en) / 2;
      if (bs(md)) {
        en = md;
      } else {
        st = md;
      }
    }
    printf("%0.7Lf\n", en);
  }
  return 0;
}
