#include <bits/stdc++.h>
const double EPS = 0.00000001;
int main() {
  std::ios_base::sync_with_stdio(false);
  std::cin.tie(nullptr);
  int32_t t;
  std::cin >> t;
  for (int32_t cs = 1; cs <= t; cs++) {
    int32_t n, l;
    std::cin >> n >> l;
    std::vector<int32_t> a(n);
    for (auto &x : a) {
      std::cin >> x;
    }
    int32_t indL = 0, indR = n - 1, speed1 = 1, speed2 = 1;
    double pos1 = 0, pos2 = l;
    double currT = 0.0, ans;
    while (1) {
      if (indL > indR) {
        ans = currT + (pos2 - pos1) / (speed1 + speed2);
        break;
      }
      double t1 = ((double)a[indL] - pos1) / speed1;
      double t2 = ((double)pos2 - a[indR]) / speed2;
      if (indL == indR) {
        if (fabs(t1 - t2) < EPS) {
          ans = currT + t1;
          break;
        }
      }
      if (t1 < t2) {
        indL++;
        currT += t1;
        speed1++;
        pos1 = a[indL - 1];
        pos2 -= t1 * speed2;
      } else {
        indR--;
        currT += t2;
        speed2++;
        pos1 += t2 * speed1;
        pos2 = a[indR + 1];
      }
    }
    std::cout << std::fixed << std::setprecision(8);
    std::cout << ans << '\n';
  }
}
