N,C,V = int(input()),int(input()),int(input()) S = [int(i) - 1 for i in input().split()] T = [int(i) - 1 for i in input().split()] Y = list(map(int, input().split())) M =list(map(int, input().split())) INF = 10 ** 9 + 7 dp = [[INF] * (C + 1) for i in range(N)] dp[0][0] = 0 for i in range(N): for j in range(C): if dp[i][j] != INF: for k in range(V): if S[k] == i and j + Y[k] <= C: dp[T[k]][j + Y[k]] = min(dp[T[k]][j + Y[k]],dp[i][j] + M[k]) ans = min(INF,min(dp[N - 1])) print(-1 if ans == INF else ans)