#include <bits/stdc++.h>
#define ll long long

using namespace std;

const int MOD = 1e9 + 7;

void solve(){
	int n, k, l;
	cin >> n >> k >> l;
	
	queue<int> q;
	
	for(int i = 0; i < n; i++){
		int x;
		cin >> x;
		q.push(x);
	}
	
	double t = q.front();
	q.pop();
	double dist = k;
	double prev = 0;
	while(dist < l && q.size()){
		while(dist < l && q.size() && q.front() - t <= dist){
			if(q.front() < dist){
				prev = min(dist, q.front() + t);
			}else prev = dist;
			if(dist - prev < k)dist = prev + k;

			q.pop();
		}
		if(dist - prev >= k){
			int need = dist - k - prev;
			t += need;
			prev += need;
		}
		if(q.size() && dist < l){
			double x = q.front() - t;
			double req = (x + dist) / 2 - dist;
			t += req;
			dist += req;
		}
	}
	
	if(dist >= l){
		cout << floor(2 * t) << "\n";
	}else{
		
		double need = max(0.0, l - k - prev);
		t += need;
		cout << floor(2 * t) << "\n";
	}
	
}

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	
	int t = 1;
	cin >> t;
	
	for(int i = 1; i <= t; i++){
		solve();
	}
	return 0;
}