#思路:
#采用集合来存储不重复的可能的重量组合
#每次检查新的砝码加进来是否会产生新的重量

n=input()
#存储砝码种类
m=input().split()
for i in range(len(m)):
    m[i]=int(m[i])
#存储每种砝码数量
x=input().split()
for i in range(len(x)):
    x[i]=int(x[i])
#存储所有的砝码
m1=[]
for i in range(len(x)):
    for j in range(x[i]):
        m1.append(m[i])
#使用集合存储所有结果
ans={0}#最妙的是这个,集合元素初始为0,这样在下面就可以通过加和来得到添加的元素自身
for i in m1:
    for j in list(ans):#这里不要直接遍历ans集合,因为在遍历过程中往ans中添加元素会报错
        ans.add(i+j)
print(len(ans))