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)] INF=1<<60 s=[INF]*n s[0]=0 while q: c,p=heappop(q) if s[p]c+nc: s[v]=c+nc heappush(q,(s[v],v)) if s[-1]==INF: exit(print(-1)) p=n-1 c=s[p] d=[] while p: for v,nc in g[p]: if s[v]+nc==s[p]: d+=nc, p=v break d.sort() for _ in range(k): d.pop() print(sum(d))