#include <bits/stdc++.h>
using namespace std;
long long ans2[100], cnt[100];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long long q, i, j, k, r;
  cin >> q;
  while (q--) {
    long long a, b, m;
    cin >> a >> b >> m;
    int fl = 0;
    if (a == b) {
      cout << 1 << " " << a;
      cout << "\n";
      continue;
    }
    for (i = 2; i <= 50; i++) {
      ans2[1] = a;
      long long s = a;
      int fl1 = 0;
      for (j = 2; j <= i; j++) {
        ans2[j] = s + 1;
        if (ans2[j] > b) {
          fl1 = 1;
          break;
        }
        s += ans2[j];
      }
      if (fl1) continue;
      long long diff = b - ans2[i];
      if (diff < 0) continue;
      for (j = 2; j <= i; j++) {
        cnt[j] = m - 1;
      }
      int T = 10;
      while (T--) {
        for (j = 51; j >= 0 && diff; j--) {
          long long s = (1LL << j);
          if (s == 1 && diff - 1 >= 0 && cnt[i] && i != 1) {
            long long z = min(diff / s, cnt[i]);
            ans2[i] += z;
            cnt[i] -= z;
            diff -= z;
            continue;
          }
          if (diff - s >= 0 && i - j - 1 >= 2 && cnt[i - j - 1]) {
            long long z = min(diff / s, cnt[i - j - 1]);
            diff -= s * z;
            cnt[i - j - 1] -= z;
            ans2[i - j - 1] += z;
            long long fg = 0;
            for (k = i - j; k <= i; k++) {
              ans2[k] += z * 1LL * (1LL << fg);
              fg++;
            }
          }
        }
      }
      if (diff) continue;
      cout << i << " ";
      for (j = 1; j <= i; j++) {
        cout << ans2[j] << " ";
      }
      cout << "\n";
      fl = 1;
      break;
    }
    if (!fl) cout << -1 << "\n";
  }
}
