n = int(input()) c = int(input()) v = int(input()) *s, = map(int,input().split()) *t, = map(int,input().split()) *y, = map(int,input().split()) *m, = map(int,input().split()) g = [[] for _ in range(n)] for ss,tt,yy,mm in zip(s,t,y,m): g[ss-1].append((tt-1,yy,mm)) INF = 10**9 res = [[INF]*(c+1) for _ in range(n)] res[0][0] = 0 for i in range(n): for j in range(c+1): if res[i][j] == INF: continue for tt,yy,mm in g[i]: if j+yy <= c: res[tt][j+yy] = min(res[tt][j+yy], res[i][j]+mm) ans = min(res[-1]) print(ans if ans!=INF else -1)