import heapq N = int(input()) C = int(input()) V = int(input()) S = list(map(int,input().split())) T = list(map(int,input().split())) Y = list(map(int,input().split())) M = list(map(int,input().split())) G=[[] for _ in range(N)] for i in range(V): G[S[i]-1].append((M[i],Y[i],T[i]-1)) hq=[(0,0,0)] heapq.heapify(hq) while(hq): t,c,v=heapq.heappop(hq) if v==N-1: print(t) exit() for m,y,u in G[v]: if c+y<=C: heapq.heappush(hq,(t+m,c+y,u)) print(-1)