#include<bits/stdc++.h>
using namespace std;
int t,va,vb,n,v[1005][1005],f[1005][1005];
struct zt{
int a,b;
int step;
}z[1000000];
void bfs(){
int head=0,tail=1,xxx=0;;
z[1].a=z[1].b=z[1].step=0;
while(head<tail){
head++;
int aa=z[head].a,bb=z[head].b,ss=z[head].step;
if(bb==n){
cout<<ss<<" ";
for(int i=1;i<=ss;i++){
cout<<f[head][i]<<' ';
}
cout<<endl;
break;
}
for(int i=1;i<=6;i++){
if(i==1&&z[head].a<va&&!v[va][bb]){
v[va][bb]=1;
z[++tail].a=va;
z[tail].b=bb;
z[tail].step=ss+1;
for(int j=1;j<=ss;j++){
f[tail][j]=f[head][j];
}
f[tail][ss+1]=i;
}
if(i==2&&z[head].b<vb&&!v[aa][vb]){
v[aa][vb]=1;
z[++tail].a=aa;
z[tail].b=vb;
z[tail].step=ss+1;
for(int j=1;j<=ss;j++){
f[tail][j]=f[head][j];
}
f[tail][ss+1]=i;
}
if(i==3&&aa>0&&!v[0][bb]){
v[0][bb]=1;
z[++tail].a=0;
z[tail].b=bb;
z[tail].step=ss+1;
for(int j=1;j<=ss;j++){
f[tail][j]=f[head][j];
}
f[tail][ss+1]=i;
}
if(i==4&&bb>0&&!v[aa][0]){
v[aa][0]=1;
z[++tail].a=aa;
z[tail].b=0;
z[tail].step=ss+1;
for(int j=1;j<=ss;j++){
f[tail][j]=f[head][j];
}
f[tail][ss+1]=i;
}
if(i==5&&aa<va&&bb>0){
int x=va-aa;
if(x>=bb&&!v[aa+bb][0]){
v[aa+bb][0]=1;
z[++tail].a=aa+bb;
z[tail].b=0;
z[tail].step=ss+1;
for(int j=1;j<=ss;j++){
f[tail][j]=f[head][j];
}
f[tail][ss+1]=i;
}
if(x<bb&&!v[va][bb-x]){
v[va][bb-x]=1;
z[++tail].a=va;
z[tail].b=bb-x;
z[tail].step=ss+1;
for(int j=1;j<=ss;j++){
f[tail][j]=f[head][j];
}
f[tail][ss+1]=i;
}
}
if(i==6&&bb<vb&&aa>0){
int x=vb-bb;
if(x>=aa&&!v[0][aa+bb]){
v[0][aa+bb]=1;
z[++tail].a=0;
z[tail].b=aa+bb;
z[tail].step=ss+1;
for(int j=1;j<=ss;j++){
f[tail][j]=f[head][j];
}
f[tail][ss+1]=i;
}
if(x<aa&&!v[aa-x][vb]){
v[aa-x][vb]=1;
z[++tail].a=aa-x;
z[tail].b=vb;
z[tail].step=ss+1;
for(int j=1;j<=ss;j++){
f[tail][j]=f[head][j];
}
f[tail][ss+1]=i;
}
}
}
}
}
int main(){
cin>>t;
for(int mmmmm=1;mmmmm<=t;mmmmm++){
memset(v,0,sizeof(v));
memset(f,0,sizeof(f));
cin>>va>>vb>>n;
bfs();
}
}