from collections import defaultdict, Counter, deque from itertools import groupby, accumulate, combinations, permutations, product, combinations_with_replacement from bisect import bisect_left, bisect_right from operator import itemgetter import math LMI=lambda:list(map(int, input().split())) LMS=lambda:list(map(str, input().split())) MI=lambda:map(int, input().split()) MS=lambda:map(str, input().split()) II=lambda:int(input()) IS=lambda:input().split() LI=lambda:list(input()) N,F=MI() A=LMI() B=LMI() C=LMI() S=set() S.add(A[0]) S.add(B[0]) S.add(C[0]) print(len(S)) for i in range(1,N): tmp=set() for j in S: tmp.add(j) tmp.add(j+A[i]) tmp.add(j+B[i]) tmp.add(j+C[i]) S=tmp print(len(S))