#include using namespace std; int n, c, v; int *s, *t, *y, *m; int main() { int now, brg, cost, time, flag; int rt = -1; cin >> n >> c >> v; s = new int[v]; t = new int[v]; y = new int[v]; m = new int[v]; for (int i = 0; i < v; i++) cin >> s[i]; for (int i = 0; i < v; i++) cin >> t[i]; for (int i = 0; i < v; i++) cin >> y[i]; for (int i = 0; i < v; i++) cin >> m[i]; for (int i = 0; i < v; i++) if (t[i] == n) { now = s[i]; cost = y[i]; time = m[i]; while (now != 1) { flag = 0; for (int j = 0; j < v; j++) if (t[j] == now) { flag = 1; now = s[j]; cost += y[j]; time += m[j]; break; } if (flag == 0) break; } if (now == 1 && cost <= c && (rt > time || rt < 0)) rt = time; } cout << rt << endl; return 0; }