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 = [int(i) for i in input().split()] M = [int(i) for i in input().split()] INF = 10 ** 9 + 7 dp = [[INF for j in range(C + 1)] for i in range(N)] dp[0][0] = 0 for i in range(N): for j in range(C): 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 = INF for i in range(C + 1): ans = min(ans,dp[N - 1][i]) print(-1 if ans == INF else ans)