数学考试
题号:NC212358
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛在树剖姐姐的数学考试里出了一个题,但是树剖姐姐不会做,于是她向您求助。
 的排列,有 m 个限制条件,第i个限制条件  表示前  个数不能是  的排列,求符合要求的排列的个数。
答案对 20000311 取模。

输入描述:

第一行两个 n,m
第二行 m 个数,每两个数之间用一个空格隔开,第i个数是pi,保证pi互不相同

输出描述:

一个数,表示符合要求的排列个数对 20000311 取模的结果
示例1

输入

复制
4 0

输出

复制
24
示例2

输入

复制
3 2
2 1

输出

复制
3

说明

3 1 2,3 2 1,2 3 1三种合法
示例3

输入

复制
4 2
1 3

输出

复制
14
示例4

输入

复制
114 5
14 1 91 98 10

输出

复制
19843522

备注: