[NICA #3] 数计组数

题目描述

称一个长度为 $n$ 的数组 $a$ 是“数计的”,当且仅当存在一种将其划分成若干个区间的方案,使得每个区间的最小值恰好等于区间长度,或者说存在 $0=x_1<x_2<x_3<\cdots<x_m=n$,满足 $\forall 1\le i<m,\min\limits_{j=x_i+1}^{x_{i+1}}a_j=x_{i+1}-x_i$。 给定正整数集 $S$,询问有多少长度为 $n$ 的数组 $a$ 满足 $a_i\in S$ 且 $a$ 是“数计的”。答案对 $10^9+7$ 取模。

输入输出格式

输入格式


输入第一行两个整数 $n,m$,$n$ 表示数组的长度,$m$ 表示正整数集 $S$ 的大小。 第二行包含 $m$ 个正整数 $b_1,b_2,\dots,b_m$,表示正整数集 $S$ 中包含的元素。特别的,我们保证 $1\le b_1< b_2<b_3<b_4<\cdots<b_m\le 10^6$。

输出格式


输出仅包含一个整数,表示答案对 $10^9+7$ 取模后的结果。

输入输出样例

输入样例 #1

2 2
1 2

输出样例 #1

2

说明

#### 样例 1 解释 只有两种可能的数组为“数计的”,分别是 $[1,1]$ 和 $[2,2]$。 #### 数据范围 对于所有数据,保证 $1\le n\le 2000$,$1\le m\le 100000$,$1\le b_1< b_2<b_3<b_4<\cdots<b_m\le 10^6$。