#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353;
const int N = 1e5 + 5;
int n, l;
int a[N];
int b[N];
double tim1[N];
double tim2[N];
void pre() {
  int now = 1;
  tim1[0] = tim2[n + 1] = 0;
  for (int i = 1; i <= n + 1; i++) {
    tim1[i] = 1.0 * (a[i] - a[i - 1]) / now + tim1[i - 1];
    now++;
  }
  now = 1;
  for (int i = n; i >= 0; i--) {
    tim2[i] = tim2[i + 1] + 1.0 * (a[i + 1] - a[i]) / now;
    now++;
  }
}
const double eps = 1e-6;
signed main() {
  int T;
  cin >> T;
  while (T--) {
    cin >> n >> l;
    for (int i = 1; i <= n; i++) cin >> a[i];
    a[0] = 0, a[n + 1] = l;
    for (int i = 0; i <= n + 1; i++) b[i] = a[n + 1 - i];
    pre();
    bool flag = 1;
    for (int i = 0; i <= n + 1; i++) {
      if (fabs(tim1[i] - tim2[i]) <= eps) {
        printf("%.15f\n", tim1[i]);
        flag = 0;
        break;
      }
    }
    if (!flag) continue;
    for (int i = 0; i <= n + 1; i++) {
      if (tim1[i] < tim2[i] && tim1[i + 1] > tim2[i + 1]) {
        int va = i + 1;
        int vb = n + 1 - i;
        int lu = a[i + 1] - a[i];
        double t = 1.0 * (lu + va * tim1[i] + vb * tim2[i + 1]) / (va + vb);
        printf("%.15f\n", t);
      }
    }
  }
  return 0;
}
