#include <bits/stdc++.h>
using namespace std;
int n, l;
vector<int> arr;
double solve() {
  double t = 0;
  int lidx = 0, ridx = arr.size() - 1;
  double lpos = 0, rpos = l;
  double lspeed = 1, rspeed = 1;
  while (true) {
    if (ridx < lidx) {
      double distance = rpos - lpos;
      double speed = lspeed + rspeed;
      t += distance / speed;
      break;
    }
    int lflag = arr[lidx], rflag = arr[ridx];
    double ltime = (lflag - lpos) / lspeed, rtime = (rpos - rflag) / rspeed;
    if (ltime < rtime) {
      t += ltime;
      lidx++;
      lpos += ltime * lspeed, rpos -= ltime * rspeed;
      lspeed += 1;
    } else {
      t += rtime;
      ridx--;
      lpos += rtime * lspeed, rpos -= rtime * rspeed;
      rspeed += 1;
    }
  }
  return t;
}
int main() {
  ios_base::sync_with_stdio(false);
  int t;
  cin >> t;
  for (int i = 0; i < t; i++) {
    cin >> n >> l;
    arr.resize(n);
    for (int j = 0; j < n; j++) cin >> arr[j];
    cout << fixed << setprecision(10) << solve() << endl;
  }
}
