def parse(inFile):
    [X,S,R,t,N] = inFile.getInts()
    return (X,S,R,t,[inFile.getInts() for k in xrange(N)])

def solve((length,walkSpeed,runSpeed,time,walkways)):
    walkways = [[w,E-B] for [B,E,w] in walkways]
    walkways += [[0,length-sum([z[1] for z in walkways])]]
    walkways.sort()
    timeTaken = 0
    for [speed,length] in walkways:
        runtime = float(length) / (runSpeed + speed)
        if (runtime < time):
            time -= runtime
            timeTaken += runtime
        else:
            walktime = float(length - (runSpeed + speed) * time) / (walkSpeed + speed)
            timeTaken += time + walktime
            time = 0
    return "%.7f" % timeTaken

if __name__ == "__main__":
    from GCJ import GCJ
    GCJ(parse, solve, "/Users/lpebody/gcj/2011_round2/", "a").run()

            
