Cod sursa(job #3291191)

Utilizator MihneaStoicaMihnea Teodor Stoica MihneaStoica Data 3 aprilie 2025 15:47:58
Problema Grigo Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#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;
}