N, F = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) C = list(map(int, input().split())) bit_count = [0] k = (N * F + 10).bit_length() for _ in range(k): bit_count.extend([x+1 for x in bit_count]) dp = 1 for i in range(N): nxt = 0 nxt = nxt | (dp << A[i]) nxt = nxt | (dp << B[i]) nxt = nxt | (dp << C[i]) dp = nxt print(bit_count[dp])