N, C, V = [int(input()) for _ in range(3)] S = [int(x) - 1 for x in input().split()] T = [int(x) - 1 for x in input().split()] Y = list(map(int, input().split())) M = list(map(int, input().split())) e = [[] for _ in [0] * N] INF = float('inf') dp = [[INF] * (C + 1) for _ in [0] * 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 = min(dp[N - 1]) print(-1 if ans == INF else ans)