#include <bits/stdc++.h>
using namespace std;
int main() {
  long long t;
  cin >> t;
  while (t--) {
    long long n, l;
    cin >> n >> l;
    vector<long long> a(n);
    for (long long i = 0; i < n; i++) {
      cin >> a[i];
    }
    double dist = l;
    double car1 = 0;
    double speed1 = 1;
    double car2 = l;
    double speed2 = 1;
    long long flag1 = 0;
    long long flag2 = n - 1;
    double time = 0;
    while (dist > 0) {
      double hitFlag1 = 0;
      if (flag1 < n) {
        hitFlag1 = (a[flag1] - car1) / speed1;
      } else {
        hitFlag1 = DBL_MAX;
      }
      double hitFlag2 = 0;
      if (flag2 >= 0) {
        hitFlag2 = (car2 - a[flag2]) / speed2;
      } else {
        hitFlag2 = DBL_MAX;
      }
      double intersectTime = (car2 - car1) / (speed1 + speed2);
      double first = min(hitFlag1, min(hitFlag2, intersectTime));
      if (hitFlag1 == first) {
        car1 = a[flag1];
        car2 -= (hitFlag1 * speed2);
        speed1++;
        flag1++;
        time += hitFlag1;
      } else if (hitFlag2 == first) {
        car2 = a[flag2];
        car1 += (hitFlag2 * speed1);
        speed2++;
        flag2--;
        time += hitFlag2;
      } else if (intersectTime == first) {
        time += intersectTime;
        car1 += (intersectTime * speed1);
        car2 -= (intersectTime * speed2);
        break;
      }
      dist = car2 - car1;
    }
    printf("%.8F\n", time);
  }
  return 0;
}
