------
## 最终结论
```python
def time_to_meet(t, test_cases):
    results = []
    for case in test_cases:
        n, l, flags = case
        left_speed = 1
        right_speed = 1
        left_pos = 0
        right_pos = l
        left_index = 0
        right_index = n - 1
        time_elapsed = 0.0

        while left_index <= right_index:
            time_to_next_left_flag = (flags[left_index] - left_pos) / left_speed if left_index < n else float('inf')
            time_to_next_right_flag = (right_pos - flags[right_index]) / right_speed if right_index >= 0 else float('inf')

            if time_to_next_left_flag < time_to_next_right_flag:
                time_elapsed += time_to_next_left_flag
                left_pos = flags[left_index]
                right_pos -= right_speed * time_to_next_left_flag
                left_speed += 1
                left_index += 1
            else:
                time_elapsed += time_to_next_right_flag
                right_pos = flags[right_index]
                left_pos += left_speed * time_to_next_right_flag
                right_speed += 1
                right_index -= 1

        # Finally, calculate the remaining time to meet after the last flag is passed by either car.
        if left_pos < right_pos:
            remaining_distance = right_pos - left_pos
            combined_speed = left_speed + right_speed
            time_elapsed += remaining_distance / combined_speed

        results.append(time_elapsed)
    return results

# Read input data and call the function.
import sys

input_data = sys.stdin.read().strip().split()
t = int(input_data[0])
index = 1

test_cases = []
for _ in range(t):
    n, l = map(int, input_data[index:index+2])
    index += 2
    flags = list(map(int, input_data[index:index+n]))
    index += n
    test_cases.append((n, l, flags))

results = time_to_meet(t, test_cases)

for result in results:
    print(f"{result:.12f}")
```