#include using namespace std; #define rep(i,n) for (int i = 0; i < (int)(n); ++i) #define rrep(i,n) for (int i = (int)(n-1); i >= 0; --i) #define Rep(i,a,b) for (int i = a; i < b; ++i) #define rRep(i,a,b) for (int i = a; i > b; --i) #define fore(i,a) for(auto &i:a) #define all(v) (v).begin(),(v).end() #define rall(v) (v).rbegin(),(v).rend() #define Unique(v) v.erase(unique(v.begin(), v.end()), v.end()); #define Bit(x,i) (((x)>>(i))&1) using ll = long long; using vi = vector; using vll = vector; using vvi = vector; using vvll = vector; using vb = vector; using vs = vector; using pii = pair; using pll = pair; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b> A >> B; vll ans; while(A * 2 <= B) { ans.push_back(A); A *= 2; } while(A < B) { ll dif = B - A; ll tmp = 1; ll tmpA = A; while(tmp*2 <= dif) { if(tmpA%2) break; else { tmp *= 2; tmpA /= 2; } } ans.push_back(tmp); A += tmp; } int sz = ans.size(); cout << sz << endl; rep(i, sz) { cout << ans[i] << " \n"[i==sz-1]; } } int main() { int T; cin >> T; while(T--) solve(); }