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())) d=[[None]*(c+1) for i in range(n)] d[0][0] = 0 for i in range(v): for j in range(c+1): a=d[s[i]-1][j] if a is not None: q=y[i]+j if c < q: break p=t[i]-1 x=a+m[i] if d[p][q] is None or x < d[p][q]: d[p][q] = x o=None for x in d[n-1]: if x is not None: if o is None or x < o: o=x print(-1 if o is None else o)