Type: Default 1000ms 256MiB

序列

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

给你一个长度为 nn 的正整数序列 TT,保证 TT 为严格单调递增。你需要构造如下的序列 SS,满足:

  1. SSTT 的一个排列
  2. i=1nmin(Si,Ti)=k\sum\limits_{i=1}^n \min(S_i,T_i) = k

现在你需要回答有多少种可行的 SS 的构造方法。答案可能很大,请输出答案对 109+910^9+9 取模的值。

输入格式

第一行包含两个整数 n, kn,~k,表示 TT 的长度,以及一个在题目描述中所提到的整数。

第二行有 nn 个整数,第 ii 个数表示 TiT_i

输出格式

输出题目所求对 109+910^9+9 取模的结果。

5 10
1 2 3 4 5
24

说明

1k2.5×103, 1Ti501\leq k\leq 2.5\times10^3,~1\leq T_i \leq 50

10%10\% 的数据满足 n5n \le 5

50%50\% 的数据满足 n10n \le 10

100%100\% 的数据满足 n50n \le 50

本题使用 Subtask