#P17454. 迭代不动点 / Iterated Fixed Points

迭代不动点 / Iterated Fixed Points

题目描述

由于评测机性能差异,本题时限调整至 2s。

给定三个整数 n,k,pn,k,p。

考虑所有函数

f:{1,2,…,n}→{1,2,…,n}.f:\{1,2,\ldots,n\}\to\{1,2,\ldots,n\}.

记 fkf^k 表示函数 ff 的 kk 次迭代。若 x∈{1,2,…,n}x\in\{1,2,\ldots,n\} 满足

fk(x)=x,f^k(x)=x,

则称 xx 是 ff 的一个 kk 阶迭代不动点。

求恰好有 pp 个 kk 阶迭代不动点的函数 ff 的数量。答案对 109+710^9+7 取模。

输入格式

本题有多组测试数据。

第一行包含一个整数 TT (1≤T≤104)(1\le T\le 10^4),表示测试数据组数。

接下来 TT 行,每行包含三个整数 n,k,pn,k,p (1≤n,k≤106,0≤p≤n)(1\le n,k\le 10^6,0\le p\le n)。

保证所有测试用例的 nn 之和不超过 10610^6。

输出格式

对于每组测试数据,输出一行一个整数,表示答案对 109+710^9+7 取模后的结果。

7
3 2 2
2 1 0
3 1 0
3 2 0
3 3 3
4 2 4
4 1 2
12
1
8
2
3
10
54