问题描述
小F今天3岁生日,他爸爸送给他一套魔法积木作为生日礼物,积木一共包含$n$块,编号从$1$到$n$,每块积木都可以任意设置高度为整数h$\left( 1\leq h\leq m\right)$。小F非常开心地玩起了积木,并按照以下步骤进行操作
(1) 首先,拿出编号为1的积木,任意设置高度为$h1$,放在第一行行首处。
(2) 当进行到第$i$步时(假设前$i-1$块积木已经摆放成$r$行):拿出编号为$i$的积木,这时有两种放法:
(I) 任意设置积木$i$的高度,然后把它放在$r+1$行行首(产生新的一行)
(II)从$r$行中任意选择一行,任意设置积木$i$的高度$hi$使得$hi$不低于被选行最后一个积木高度,然后将积木$i$放在该行的最后
(3) $n$块积木都使用后操作结束,形成了一个图案
小F非常好奇,所有可能的操作下会形成多少种不同的图案?对于两种图案,如果它们积木总行数相同,并且对应行总积木数相同,并且对应位置的编号高度都相同,两种图案便被视为相同。
输入描述
第一行只有一个整数$T\left(T\leq 50 \right)$,表示测试数据组数。接下来有$T$行,每行包括两个整数$n\left(1\leq n\leq 1000 \right)$、$m\left(1\leq m\leq 100000 \right)$,分别表示积木总数以及积木最大高度。
输出描述
每组数据输出一行Case #$x$: $ans$。$x$表示组数编号,从1开始,$ans$为图案的总个数模上$1000000007$的结果。
输入样例
2
1 1
2 2
输出样例
Case #1: 1
Case #2: 7
Hint
第二组数据7种图案为:$(x,y)$表示编号为$x$,高度为$y$
1、(1,1)(2,1)
2、(1,1)(2,2)
3、(1,2)(2,2)
4、(1,1)
(2,1)
5、(1,1)
(2,2)
6、(1,2)
(2,1)
7、(1,2)
(2,2)