Logo Universal Online Judge

UOJ

时间限制:2 s 空间限制:1024 MB

#2743. 小 H 背单词(recite)

Statistics

题目描述

又到了小 H 被强迫背单词的时间了!

英语老师要求小 H 在一秒之内背下一本《考纲词汇 3500》中的 $N(2 \leq N \leq 3500)$ 个单词,这无疑是一场折磨。

但是经验丰富的小 H 完全没有表现出一点怯色,他事不关己地说道:

“我可是有超强记忆法的男人!”

小 H 的超强记忆法是,从这 $N$ 个单词中选出 $i$ 个互不相同的单词凑成一句完全不 通顺的话,他坚信自己能将其背下。(注意 $i$ 可以为 $0$)。 为了加深每个单词的印象,他不仅要凑出许多互不相同的句子,还必须保证每个单词在这些句子里的总出现次数大于等于 $k$ 次。 为了显示自己的强大,他想知道自己有多少种取胜的拼凑方案。 当然,小 H 的思维惊为天人,他只需要你算出方案数对质数 $M$ 取模的结果。

简要题意

对于一个大小为 $N$ 的集合 ${1, 2, . . . , N}$,求“它的子集组成的集合”的子集中,有 多少个满足 $1, 2, . . . , N$ 均出现了至少 $k$ 次,答案对 $M$ 取模。

输入格式

从文件 recite.in 中读入数据。 一行三个整数 $N, M, k$。

输出格式

输出到文件 recite.out 中。 一行一个整数,表示能选出的方案数 $ans$ 对 $M$ 取模的结果

样例输入 1

2 1000000007 2

样例输出 1

2

样例输入 2

3 147744151 1

样例输出 2

218

对于 $100 \%$ 的数据,$2 \leq n \leq 3500, k = {0, 1, 2}, 10^8 ≤ M ≤ 10^9 + 9$ 且 $M$ 为质数。