题目描述:

旅行者 OrzOrz 和派蒙紧赶慢赶终于来到了第三个任务地点,但是该任务通关材料非常的好,导致有很多人,场面一度混乱,关卡管理员准备给这些人进行排队,并且听取了每一个旅行者的要求,但是关卡管理员要回家摘苹果,所以将排队的任务交给了旅行者 OrzOrz

当旅行者 OrzOrz 拿到表格之后发现上方有一行数据,这一行的第 ii 个正整数 aia_i 代表第 ii 位旅行者希望自己的位置要在前 aia_i 个,在查看表格的时候旅行者 OrzOrz 发现了一个仇人,因为现在特权在手,所以旅行者 OrzOrz 决定最后再排仇人的位置并且忽略仇人的要求。

现在旅行者 OrzOrz 想知道满足除仇人以外的所有的同学的需求的方案数(仇人的要求可以被满足也可以不被满足)。答案对 1000000007 取模。

输入描述:

输入两行。

第一行输入两个正整数 n,mn, m,表示旅行者的数量和仇人的编号;

第二行输入 nn 个正整数 a1,a2,...,ana_1, a_2, ..., a_naia_i 表示第 ii 位旅行者的需求是希望自己的位置要在前 aia_i 个。

输出描述:

输出一行。

一行输出一个数表示答案,答案对 1000000007 取模。

样例 #1

4 3
4 4 1 2 
12

说明/提示:

  • 【样例解释 #1】:

  • 以下是满足条件的排列方案:
    下面第 i 项表示第 i 个位置是第 j 个旅行者
    01. [4, 1, 2, 仇人]
    02. [4, 2, 1, 仇人]
    03. [4, 1, 仇人, 2]
    04. [4, 2, 仇人, 1]
    05. [4, 仇人, 1, 2]
    06. [4, 仇人, 2, 1]
    07. [1, 4, 2, 仇人]
    08. [2, 4, 1, 仇人]
    09. [1, 4, 仇人, 2]
    10. [2, 4, 仇人, 1]
    11. [仇人, 4, 1, 2]
    12. [仇人, 4, 2, 1]
    
    共有 12 种符合条件的排列方案,答案对 1000000007 取模后仍为 12。
    

数据范围:

对于所有的数据范围保证:

  • 1n105,1ain1 \le n \le 10^5, 1 \le a_i \le n​ 。
测试点编号 nn \le aia_i \le
1 ~ 4 1010 nn
5 ~ 10 10510^5