#include <bits/stdc++.h>
using namespace std;
long long ans = -2e18;
void f(int i, int mx, const vector<int>& users, const vector<int>& spots, vector<bool>& v) {
if (i == users.size()) {
if (mx > ans) {
ans = mx;
}
return;
}
for (int i = 0; i < spots.size(); ++i) {
if (!v[i]) {
v[i] = true;
int point = 0;
if (spots[i] < users[i]) point = 1;
else if (spots[i] > users[i]) point = -1;
f(i + 1, mx + point, users, spots, v);
v[i] = false;
}
}
}
int main() {
int n;
cin >> n;
vector<long long> x(n), y(n);
vector<int> v1;
vector<int> v2;
for (int i = 0; i < n; ++i) {
cin >> x[i];
for (int j = 0; j < x[i]; ++j) v1.push_back(i);
}
for (int i = 0; i < n; ++i) {
cin >> y[i];
for (int j = 0; j < y[i]; ++j) v2.push_back(i);
}
if (v2.empty()) {
cout << 0 << endl;
return 0;
}
vector<bool> v(v1.size(), false);
f(0, 0, v2, v1, v);
cout << ans << endl;
return 0;
}