#include "bits/stdc++.h"

#define REP(i,n) for(ll i=0;i<ll(n);++i)
#define RREP(i,n) for(ll i=ll(n)-1;i>=0;--i)
#define FOR(i,m,n) for(ll i=m;i<ll(n);++i)
#define RFOR(i,m,n) for(ll i=ll(n)-1;i>=ll(m);--i)
#define ALL(v) (v).begin(),(v).end()
#define UNIQUE(v) v.erase(unique(ALL(v)),v.end());
#define INF 1000000001ll
#define MOD 1000000007ll
#define EPS 1e-9

constexpr int dx[8] = { 1,1,0,-1,-1,-1,0,1 };
constexpr int dy[8] = { 0,1,1,1,0,-1,-1,-1 };


using namespace std;

using ll = long long;
using vi = vector<int>;
using vl = vector<ll>;
using vvi = vector<vi>;
using vvl = vector<vl>;
using pii = pair<int, int>;
using pll = pair<ll, ll>;

template <class T> bool chmin(T & a, T b) { if (a > b) { a = b; return true; } return false; }
template <class T> bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; }

int main() {
	cin.tie(0);
	ios::sync_with_stdio(false);
	ll n, k, t, u, v, l;
	cin >> n >> k >> t >> u >> v >> l;
	vi d(n);
	REP(i, n)cin >> d[i];
	vl b(l, 0);
	REP(i, n)b[d[i]] = 1;
	int time = 0, cnt = 0;
	double ans = 0;
	REP(i, l) {
		if (time == 0) {
			if (cnt > 0) {
				cnt--;
				time = t * v;
				if (b[i])cnt++;
			}
			else {
				if (b[i])time = t * v;
			}
		}
		else {
			if (b[i]) {
				if (cnt == k)time = t * v;
				else cnt++;
			}
		}
		if (time > 0) {
			ans += 1.0 / v;
			time--;
		}
		else {
			ans += 1.0 / u;
		}
	}
	cout << setprecision(12) << ans << endl;
}
