#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int main()
{
	for(int n,k,t,u,v,l;cin>>n>>k>>t>>u>>v>>l;){
		vector<int> ds(n+2); ds[n+1]=l;
		for(int i=1;i<=n;i++) cin>>ds[i];
		
		double res=0,pos=0,rest=0;
		for(int carrot=0;pos<l;){
			int i=upper_bound(begin(ds),end(ds),pos)-ds.begin();
			double dist=ds[i]-pos;
			if(rest>=dist/v){
				res+=dist/v;
				pos=ds[i];
				rest-=dist/v;
				carrot++;
				if(carrot>k){
					carrot--;
					rest=t;
				}
				continue;
			}
			else if(rest>0){
				res+=rest;
				pos+=v*rest;
				rest=0;
			}
			else if(carrot>0){
				carrot--;
				rest=t;
			}
			else{
				res+=dist/u;
				pos=ds[i];
				carrot++;
			}
		}
		printf("%.10f\n",res);
	}
}