#include <iostream>
#include <set>
#include <vector>
using namespace std;
vector<int> w;
set<int> ans;
// void dfs(int all, int index, int sum) {
// if (index >= all) return;
// for (int i = index; i < all; i++) {
// ans.insert(w[i]);
// sum += w[i];
// ans.insert(sum);
// dfs(all, i + 1, sum);
// }
// }
int main() {
int n;
cin >> n;
vector<int> m;
int x;
//int ans = 0;
for (int i = 0; i < n; i++) {
cin >> x;
m.push_back(x);
//ans += x;
}
for (int j = 0; j < n; j++) {
cin >> x;
for (int i = 0; i < x; i++) {
w.push_back(m[j]);
}
}
// dfs(w.size(), 0, 0);
ans.insert(0);
for (auto h : w) {
set<int> s(ans); //防止无限自增
for (auto it = s.begin(); it != s.end(); it++) {
ans.insert(*it + h);
}
}
cout << ans.size() << endl;
return 0;
}