Problem:
I: Starting Line

ICPC で良い成績を収めるには修行が欠かせない．うさぎは ICPC で勝ちたいので，今日も修行をすることにした．

今日の修行は，一直線上の道を走って，体力と判断力を養おうというものである．うさぎは今，スタートラインに立って長い長い道を見渡している．

道の途中にはいくつかニンジンが置かれており，うさぎはニンジンを食べると加速することができる．加速していないときのうさぎの走る速さは毎秒 U メートルであるが，ニンジンを食べることで，最後のニンジンを食べてから T 秒後までは速さが毎秒 V メートルとなる．また，うさぎはニンジンを K 個まで食べずに持っておくことができる．ニンジンを持っていても走る速さは変わらない．

ニンジンを持ったり食べたりするのに時間はかからないとして，ゴールまでの最短所要時間を求めたい．

Input

N K T U V L
D1
...
DN

N はニンジンの個数，L はスタートからゴールまでの距離 (メートル)，Di (1 ≤ i ≤ N) は i 番目のニンジンが置かれている場所のスタートからの距離 (メートル) である．

1 ≤ N ≤ 200，1 ≤ K ≤ N，1 ≤ T ≤ 10,000，1 ≤ U < V ≤ 10,000，2 ≤ L ≤ 10,000，0 < D1 < D2 < ... < DN < L を満たす．入力の値はすべて整数である．

Output

最短所要時間 (秒) を 1 行に出力せよ．10-6 以下の絶対誤差が許容される．

Sample Input 1

1 1 1 2 3 100
50

Sample Output 1

49.500000000

Sample Input 2

3 1 1 2 3 100
49
50
51

Sample Output 2

48.666666667

Solution in Ruby (judge verdict: Accepted)

require 'mathn'

n, k, t, u, v, l = gets.split.map &:to_i
carrots = (1..n.to_i).map{gets.to_i}
carrots << l

x = 0
c = 0
accel = 0
time = 0

carrots.each{|d|
	if x + accel * v >= d
		dt = (d - x) / v
		time += dt
		accel -= dt
		x = d
		if c == k
			accel = t
		else
			c += 1
		end
	else
		x += accel * v
		time += accel 
		accel = 0

		if c == 0
			time += (d - x) / u
			x = d
			c = 1
		else
			if x + c * t * v >= d
				used = ((d - x) / (t * v)).ceil
				c -= used - 1
				dt = (d - x) / v
				time += dt
				x = d
				accel = used * t - dt
			else
				x += c * t * v
				time += c * t
				time += (d - x) / u
				x = d
				c = 1
			end
		end
	end
}

p time.to_f