Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

CSMS0024 - Холимог сэлгэмэл

1-ээс N хүртлэх тоонуудыг цувуулан бичжээ. Хооронд нь яг P1, P2, ..., эсвэл PM ширхэг тоо байрлах дурын хоёр тооны байрыг сольж болно(P1, P2, ..., PM тоонууд өгөгдөнө).
Жишээ нь N=5, M=2, P1=3, P2=2 байг. Тэгвэл 1 болон 4 дэх байрлалд байгаа тоонуудын (хооронд нь 2 тоо байна) байрыг мөн 1 болон 5 дахь байрлалд байгаа тоонуудын (хооронд нь 3 тоо байна) байрыг солиход 5, 2, 3, 1, 4 гэсэн дараалал үүснэ.
Ингэж байр солих аргаар үүсгэж болох ялгаатай дарааллуудын тоог ол.
2 ≤ N ≤ 3000
1 ≤ M ≤ 500
Дурын i-гийн (1 ≤ i ≤ M) хувьд 0 ≤ Pi ≤ N-2 нөхцөл биелнэ.

Input

Оролтонд N, M, P1, P2, ..., PM тоонууд зай эсвэл мөр шилжүүлэх тэмдгээр тусгаарлагдан өгөгдөнө. Оролтын өгөгдлүүд нь зөв байна.

Output

Гаралт дээр хайж буй тоо байрлана.

Example

Input:
5
2
3 2


Output:
24

Нэмсэн:sw40
Огноо:2008-02-22
Хугацааны хязгаарлалт:1s
Эх кодын хэмжээний хязгаарлалт:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Програмчлалын хэлүүд:Бүгд дараах хэлүүдээс бусад: ADA95 ASM64 BASH BF C++ 4.3.2 C99 CLPS CLOJURE D ERL FSHARP GO ICON ICK JS-RHINO LUA NEM NICE NODEJS OCAML PERL6 PIKE PRLG-swi SCALA SCM guile SCM qobi SED ST TCL VB.NET WHITESPACE

hide comments
2021-05-09 13:48:31
#include <iostream>
using namespace std;

int main() {
long long a,n,c,d,N[100001],e,i,f=1,l;
cin>>a>>d;
for(i=1; i<=d; i++){
cin>>N[i];
}
i=i-1;
n=N[i]-1;
e=a-n+1;
e=e-d+1;

for(l=1; l<=e; l++){
f=f*l;
}

cout<<f;
return 0;
}
yu ni blku bgan blo
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.