// g++ A.cpp -std=c++14 -I . && ./a.out #include using namespace std; // #include // using namespace atcoder; // using mint = modint1000000007; // using mint = modint998244353; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define rep2(i, a, b) for (int i = a; i < (int)(b); i++) #define rrep(i, a, b) for (int i = a; i > (int)(b); i--) #define all(v) v.begin(), v.end() using ll = long long; const ll INF = 1e18; // 変数定義 ll N, M, Q, a, b, c, d, x, y, t, T, total, score, ans; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin >> N; vector> A(N); vector B(N); rep(i, N) { cin >> a; A[i] = make_pair(i, a); } rep(i, N) { cin >> B[i]; } sort(all(A)); map scores; ll max_score = 0; do { score = 0; rep(i, N) { score += max(0LL, A[i].second - B[i]); } // cout << score << '\n'; if (scores.count(score)) scores[score]++; else scores[score] = 1; if (score > max_score) max_score = score; } while (next_permutation(all(A))); cout << scores[max_score] << '\n'; return 0; }