#include <bits/stdc++.h>
using namespace std;
long long s[65], mx[65], mn[65], ans[65], mxx, mnn, anss, ss;
int main() {
  ss = 1ll;
  s[0] = 1ll;
  for (int i = 1; i < 53; ++i) s[i] = ss, ss += s[i];
  int n, cnt;
  long long a, b, m, shang;
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) {
    scanf("%I64d%I64d%I64d", &a, &b, &m);
    cnt = 1;
    mn[1] = a;
    mx[1] = a;
    mn[0] = mx[0] = 0;
    mxx = mnn = a;
    while (mx[cnt] < b) {
      ++cnt;
      mn[cnt] = 1ll + mnn;
      mx[cnt] = m + mxx;
      mnn += mn[cnt], mxx += mx[cnt];
    }
    if (b >= mn[cnt]) {
      --m;
      printf("%d ", cnt);
      b -= mn[cnt];
      for (int j = 1; j < cnt; ++j) {
        shang = b / s[cnt - j - 1];
        if (shang > m) shang = m;
        ans[j] = 1ll + shang;
        b -= (shang)*s[cnt - j - 1];
      }
      ans[0] = a;
      anss = a;
      for (int j = 0; j < cnt; ++j) {
        if (j > 0) ans[j] += anss, anss += ans[j];
        printf("%I64d ", ans[j]);
      }
      printf("\n");
    } else
      printf("-1\n");
  }
  return 0;
}
