#include <bits/stdc++.h>
#define M 1000000007
using namespace std;

int m,n;

int DP(){
	int dp[n+1][m+1];
	for (int i=0;i<=n;i++){
		for (int j=0;j<=m;j++) dp[i][j] = 0;
	}
	for (int i=0;i<=m;i++) dp[n-1][i] = 1;

	int st = m-(n*(n+1))/2;
	for (int i=n-2;i>=0;i--){
		for (int left = st;left>=0;left--){

			int j = 0;
			while(1){
				int temp = left-(n-i)*j;
				if (temp<0) break;
				dp[i][left] = (dp[i][left]+dp[i+1][temp])%M;
				j++;
			}

		}
	}
	return dp[0][st];
}

int main(){
	int t,cs=1;
	scanf("%d",&t);
	while(t--){
		scanf("%d%d",&m,&n);
		printf("Case %d: %d\n",cs++,DP());
	}
	return 0;
}
