#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 ;     }   }   