Pagini recente » Cod sursa (job #315019) | Cod sursa (job #2053360) | Cod sursa (job #3236641) | Cod sursa (job #1315970) | Cod sursa (job #3291191)
#pragma GCC optimize("Ofast,unroll-loops")
#include <bits/stdc++.h>
using namespace std;
const string FILENAME = "grigo";
#define FILE_IO 1
#define DEFINE_INT_LONG_LONG 1
#define ll long long
#define ull unsigned long long
#if DEFINE_INT_LONG_LONG == 1
#define int long long
#define uint unsigned long long
#else
#define uint unsigned int
#endif
#if !defined(LOCAL) && FILE_IO == 1
ifstream fin(FILENAME + ".in");
ofstream fout(FILENAME + ".out");
#define cin fin
#define cout fout
#endif
const int MOD = 1e9 + 7;
void solve() {
int n, m; cin >> n >> m;
vector<bool> f(n + 1);
for (int i = 1; i <= m; i ++) {
int x; cin >> x;
f[x] = true;
}
int ans = 1;
for (int i = 1; i <= n; i ++) {
if (!f[i])
ans = (ans * (i - 1)) % MOD;
}
cout << ans << '\n';
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
solve();
return 0;
}