#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2e5 + 5;
int n, m;
int T;
void YES() { printf("YES\n"); }
void NO() { printf("NO\n"); }
void read(int &a) { scanf("%d", &a); }
int a[MAXN];
void work() {
  scanf("%d", &n);
  int cnt = 0;
  int now = 1;
  while (++cnt) {
    if (n <= now) {
      a[cnt] = n;
      break;
    }
    if (n <= now * 2) {
      a[cnt] = n / 2;
      a[cnt + 1] = n - a[cnt];
      ++cnt;
      break;
    } else {
      a[cnt] = now;
      n -= now;
      now *= 2;
    }
  }
  printf("%d\n", cnt - 1);
  for (int i = 2; i <= cnt; ++i) {
    printf("%d ", a[i] - a[i - 1]);
  }
  printf("\n");
}
int main() {
  scanf("%d", &T);
  for (int i = 1; i <= T; ++i) {
    work();
  }
  return 0;
}
