N,M,K = map(int,input().split()) G = [[] for _ in range(N+1)] _min = 10 ** 6 inf = 10 ** 6 for _ in range(M): a,b,c = map(int,input().split()) G[a].append(b) G[b].append(a) if c < _min: _min = c from collections import deque q = deque() q.append(1) dist = [inf] * (N+1) dist[1] = 0 while q: now = q.popleft() for v in G[now]: if dist[v] == inf: dist[v] = dist[now] + 1 q.append(v) if dist[-1] >= K: print(_min) else: print(0)