#include <iostream>
#include <algorithm>
#include <vector>
#include <cstdio>
using namespace std;

int main() {
	int N, K, T, U, V, L;
	vector<int> D;
	cin >> N >> K >> T >> U >> V >> L;
	D.resize(N);
	for(int i = 0; i < N; i++)
		cin >> D[i];
	sort(D.begin(), D.end());
	double res = 0;
	int x = 0;
	int g = 0;
	int i = 0;
	while(x < L) {
		if(g) {
			g--;
			int x_ = x;
			x += T * V;
			for(; i < D.size() && D[i] < x; i++) {
				g++;
				if(g > K) {
					g = K;
					x = D[i] + T * V;
				}
			}
			res += (double)(min(x,L) - x_) / V;
		}
		else {
			if(i < D.size()) {
				res += (D[i] - x) / (double)U;
				x = D[i];
				g++; i++;
			}
			else {
				res += (L - x) / (double)U;
				x = L;
			}
		}
	}
	printf("%.10f\n", res);
}