Pagini recente » Cod sursa (job #1096816) | Cod sursa (job #735077) | Cod sursa (job #416967) | Cod sursa (job #1239674) | Cod sursa (job #198186)
Cod sursa(job #198186)
#include <cstdio>
#include <cstring>
using namespace std;
#define FIN "grigo.in"
#define FOUT "grigo.out"
#define MAX_N 101005
#define MOD 1000003
int A[MAX_N];
long long V[MAX_N];
int N, M;
int main ()
{
freopen (FIN, "r", stdin);
freopen (FOUT, "w", stdout);
scanf ("%d %d", &N, &M);
int i, j, x;
for (i = 1; i <= M; ++i)
scanf ("%d", &x), A[x] = 1;
V[1] = 1;
for (i = 2; i <= N; ++i)
if (A[i]) V[i] = V[i - 1];
else V[i] = (long long)((i - 1)*V[i - 1]) % MOD;
printf ("%lld\n", (int)V[N]);
return 0;
}