N,M=map(int,input().split()) U=list(map(int,input().split())) T=list(map(int,input().split())) S=[[False]*(100000+1) for i in range(M+1)] S[0][0]=True for i in range(M): for j in range(100001): if not S[i][j]: continue S[i+1][j]=True S[i+1][j+T[i]]=True can=set() for i in range(N): for j in range(100001): if S[-1][j]: can.add(j+U[i]) print(len(can))