n = int(input())
m_list = list(map(int, input().split()))  # 每种砝码的重量
x_list = list(map(int, input().split()))  # 每种砝码的数量

possible = {0}  # 初始状态:只有0重量

for m, x in zip(m_list, x_list):
    # 先把当前集合复制一份,避免循环时修改原集合
    new_weights = set()
    for w in possible:
        # 对每个已有重量,加上1~x个当前砝码的重量
        for k in range(1, x+1):
            new_weights.add(w + m * k)
    # 把新重量合并到possible里
    possible.update(new_weights)

print(len(possible))