#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define all(x) (x).begin(),(x).end()
const int mod=1000000007,MAX=505,INF=1<<30;

int main(){
    
    std::ifstream in("text.txt");
    std::cin.rdbuf(in.rdbuf());
    cin.tie(0);
    ios::sync_with_stdio(false);
    
    int N,K,T;
    double U,V,L;cin>>N>>K>>T>>U>>V>>L;
    
    vector<int> can(L+1);
    for(int i=0;i<N;i++){
        int a;cin>>a;
        can[a]++;
    }
    
    double ans=0;
    
    int have=0;
    double rem=0.0;
    
    for(int i=1;i<=L;i++){
        if(rem==0.0){
            if(have){
                have--;
                rem=T;
                
                ans+=1.0/V;
                rem-=1.0/V;
            }else{
                ans+=1.0/U;
            }
        }else if(rem*V>=1.0){
            ans+=1.0/V;
            rem-=1.0/V;
        }else{
            double d=1.0-rem*V;
            ans+=rem;
            rem=0.0;
            
            if(have){
                have--;
                rem=T;
                
                ans+=d/V;
                rem-=d/V;
            }else{
                ans+=d/U;
            }
        }
        
        if(can[i]){
            if(rem==0.0){
                rem=T;
            }else{
                have++;
                if(have==K+1){
                    have--;
                    rem=T;
                }
            }
        }
    }
    
    cout<<setprecision(25)<<ans<<endl;
    
    
}


