import sys l=lambda:map(int,raw_input().split()) n=input()-1 c=input() v=input() s=l() t=l() y=l() m=l() w=[[]for i in[v]*v] for x in[(s[i]-1,t[i]-1,y[i],m[i])for i in range(v)]: w[x[0]]+=[x] d=[[]for i in[n]*n] r=[(0,0,[0])] g=[] while len(r)>0: a=r.pop(0) for i in w[a[2][-1]]: b=(a[0]+i[2],a[1]+i[3],a[2]+[i[1]]) if b[0]<=c: if i[1]==n: g+=[b] else: for x in d[i[1]]: if b[0]>=x[0] and b[1]>=x[1]: break else: r+=[b] d[i[1]]+=[(b[0],b[1])] if len(g)>0: a=min(g,key=lambda x:x[1]) print a[1] else: print -1