#include<bits/stdc++.h>
using namespace std;
long long mod = 1000000007;
#define ll long long
long long dp[100002][70];
long long nCr(int n,int r)
{
if(r==1) return n;
if(n==r) return 1;
if(dp[n][r]!=-1) return dp[n][r];
else
{
dp[n][r]=(nCr(n-1,r)+nCr(n-1,r-1))%mod;
return (dp[n][r])%mod;
}
}
int main()
{
//init dp table with -1
for(int i=0; i< 100002; i++)
for(int j=0; j < 70; j++)
dp[i][j]=-1;
int n, r,k,x;
int t,cs=1;
// ll ans;
ll ans;
scanf("%d",&t);
while(t--)
{
ans=1;
int cnt=0;
scanf("%d%d%d",&n,&k,&x);
int d = x;
while(n>=d)
{
ll a = nCr(n,d);
cout<<n<<" "<<d<<" "<<a<<" ";
ans*=a;
n-=d;
if(ans>=mod)ans%=mod;
cout<<ans<<endl;
// x-=d;
cnt++;
if(cnt>=k)break;
}
if(cnt<k)ans=0;
printf("Case %d: %lld\n",cs++,ans);
}
return 0;
}