from heapq import* (n,m,k),c,*e=[[*map(int,s.split())]for s in open(0)] g=[[]for _ in range(n)] for i,(u,v)in zip(c,e): g[u-1]+=(v-1,i), g[v-1]+=(u-1,i), q=[(0,0,0)] INF=1<<60 s=[[INF]*n for _ in range(k+1)] s[0][0]=0 while q: c,p,nk=heappop(q) if s[nk][p]c+nc: s[nk][v]=c+nc heappush(q,(s[nk][v],v,nk)) if nkc: s[nk+1][v]=c heappush(q,(s[nk+1][v],v,nk+1)) ans=INF for i in range(k+1): ans=min(ans,s[i][-1]) print([-1,ans][ans