Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma GCC optimize("O3")
- #include <bits/stdc++.h>
- #define MOD 1000000007
- using namespace std;
- typedef unsigned long long ll;
- typedef pair< int , int > PII;
- ll n, m, a, b, p, fact[101000], rs;
- map < int , ll > M;
- int main(){
- ios_base::sync_with_stdio(0);
- cin.tie(0); cout.tie(0);
- cin >> p;
- cin >> n;
- for (int i = 1; i <= n; i++) cin >> a, M[a]++;
- cin >> m;
- for (int j = 1; j <= m; j++) cin >> b, rs += (M[b] > 0);
- fact[0] = 1;
- for (int i = 1; i <= p; i++) fact[i] = i * fact[i - 1] % MOD;
- ll ans = 0;
- ll check = M.size();
- for (int i = 1; i <= p - check + 1; i++){
- ans += fact[p - i];
- ans %= MOD;
- }
- cout << ans * rs % MOD;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement