#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll ans[100],a,b,m;
/* b=2^(n-2)a + 2^(n-3)r2 + 2^(n-4)r3 + ... + rn-1 + rn
可以推出这么个公式,然后枚举n(2-50)即可
从r2开始贪心求最大的r2,然后后面的ri都可以依次确定下来
*/
int solve(ll a,ll b,ll m,ll n){//长度为n是否可行
ans[1]=a;
for(int i=0;i<n-2;i++){
a<<=1;
if(a>b)return 0;
}
b-=a;
ll p=(ll)1<<(n-2);
if(b<p || b>m*p || b/p>m)return 0;
b-=p;
for(int i=2;i<n;i++){
ll x=b>>(n-i-1);
x=min(x,m-1);
ans[i]=x+1;
b-=x<<(n-i-1);
}
if(b<0 || b>m-1)return 0;
ans[n]=b+1;
ll sum=ans[1];
for(int i=2;i<=n;i++)
ans[i]+=sum,sum+=ans[i];
cout<<n<<" ";
for(int i=1;i<=n;i++)
cout<<ans[i]<<" ";
puts("");
return 1;
}
int main(){
int q;cin>>q;
while(q--){
memset(ans,0,sizeof ans);
cin>>a>>b>>m;
if(a==b){
cout<<"1 "<<a<<endl;
continue;
}
int flag=0;
for(int i=1;i<=50;i++){
if(solve(a,b,m,i)){
flag=1;
break;
}
}
if(!flag)puts("-1");
}
}