#!/usr/bin/env python3

(n, m, T), E = map(int, input().split()), __import__("collections").defaultdict(list)
for x, y, l, v, w in (map(int, input().split()) for _ in range(m)): E[x].append((y, l, v, w)), E[y].append((x, l, v, w))

q, dist = [(0, 1)], {i: 0 if i == 1 else 1e18 for i in range(1, n + 1)}
while q:
    t, curr = __import__("heapq").heappop(q)
    if curr == n: exit(print(t))
    for neigh, l, v, w in E[curr]:
        new = T + (l - (T - t) * v) / w if t < T < t + l / v else t + l / (v if t < T else w)
        if new < dist[neigh]: dist.update({neigh: new}), __import__("heapq").heappush(q, (new, neigh))
