20090 - 整数拆分

给定三个正整数 nmk,请你计算以下三种拆分方式的方案数。

  1. 有序拆分(允许 0):将 n 拆分成 恰好 m 个非负整数 之和,顺序有关

  2. 有序拆分(至少 1):将 n 拆分成 恰好 m 个正整数 之和,顺序有关

  3. 下限有序拆分:将 n 拆分成 恰好 m 个正整数 之和,顺序有关,且每个数 不小于 k

顺序有关指的是,如果可以仅通过调换数字的顺序,使得一个方案变成另外一个方案,这两个方案那么也视为不同的方案。换句话说,当两个方案出现的数字相同,出现数字的顺序也相同,那么两个方案才被视为同一种方案。

输入

第一行一个整数 T,表示测试数据组数。

每组测试数据包含三个整数 n, m, k,用空格分隔。

输出

对于每组测试数据,输出一行三个整数,分别表示三种拆分方式的方案数,用空格分隔。

样例

输入

2
3 3 1
8 3 2

输出

10 1 1
45 21 6

提示

样例解释

第一组数据 n=3, m=3, k=1

  • 有序拆分(允许 0):0+0+30+1+20+2+10+3+01+0+21+1+11+2+02+0+12+1+03+0+0
  • 有序拆分(至少 1):即 1+1+1
  • 下限有序拆分(每个数 \ge 1):同上,1 种。

数据范围

  • 1 \le T \le 20
  • 1 \le n, m, k \le 20
  • 保证答案在 64 位整数范围内
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题