#include <iostream>
#include <vector>

using namespace std;

void solve()
{
	int N, K, T, U, V, L;
	cin >> N >> K >> T >> U >> V >> L;
	vector<int> Vec(N);
	for(int i = 0; i < N; ++i)
	{
		cin >> Vec[i];
	}

	int pos = 0;
	double time = 0;
	int carrot_time = 0;
	int point = 0;
	int carrot = 0;
	while(true)
	{
		pos++;
		if(carrot_time)
		{
			--carrot_time;
			time += 1.0 / V;
		}
		else
		{
			time += 1.0 / U;
		}
		if(carrot > 0 && carrot_time == 0)
		{
			--carrot;
			carrot_time = T * V;
		}
		if(pos == Vec[point])
		{
			if(point != Vec.size() - 1)
			{
				++point;
			}
			if(carrot < K)
			{
				if(carrot_time == 0)
				{
					carrot_time = T * V;
				}
				else
				{
					++carrot;
				}
			}
			else if(carrot == K)
			{
				carrot_time = T * V;
			}
		}
		
		if(pos == L)
		{
			printf("%.9f\n", time);
			break;
		}
	}
}

int main()
{
	solve();
	return(0);
}