#include<bits/stdc++.h>
using namespace std;
bool co_prime[103][103];
int arr[103],S,t;
void init()
{
int i,j;
for(i=1; i<=100; i++)
{
for(j=1; j<=100; j++)
{
if(__gcd(i,j)==1)
{
co_prime[i][j] = true;
}
}
}
}
bool check(int pos,int test)
{
for(int i=0; i<pos; i++)
{
if(!co_prime[arr[i]][test])
{
return false;
}
}
return true;
}
void dfs(int pos,int start,int sum)
{
if(pos==t-1)
{
int j = S-sum;
if(check(pos,j))
{
for(int i=0; i<pos; i++)
{
printf("%d ",arr[i]);
}
printf("%d\n",j);
return;
}
}
for(int i=start; i<=S; i++)
{
if(check(pos,i))
{
arr[pos] = i;
if(S-sum-i>=i)
{
dfs(pos+1,i,sum+i);
}
}
}
}
int main()
{
init();
int test,tc;
scanf("%d",&test);
for(tc=1; tc<=test; tc++)
{
scanf("%d%d",&S,&t);
printf("Case %d:\n",tc);
dfs(0,1,0);
}
return 0;
}