#include <bits/stdc++.h>
const int N = 3e5 + 5;
std::vector<std::vector<int>> adj(N);
std::vector<int> was(N, 1);
std::vector<int> in(N);
std::vector<int64_t> pref(N);
void solve() {
  int n, m;
  std::cin >> n >> m;
  int l = 1, r = 1e5, ans = 0;
  while(l <= r) {
    int mid = (l + r) / 2;
    int64_t t = 0;
    for(int i = 1; i + n - 1 <= mid; i++) {
      adj[i + n - 1].push_back(i - 1);
      in[i - 1] += 1;
    }
    for(int i = 1; i + m - 1 <= mid; i++) {
      adj[i - 1].push_back(i + m - 1);
      in[i + m - 1] += 1;
    }
    std::queue<int> Q;
    for(int i = 0; i <= mid; i++) {
      if(in[i] == 0) {
        Q.push(i);
      }
    }
    int cycle = 0;
    while(!Q.empty()) {
      int now = (Q.front());
      was[now] = 0;
      pref[now] = ++t;
      Q.pop();
      for(auto u : adj[now]) {
        in[u]--;
        if(in[u] == 0) {
          Q.push(u);
        }
      }
    }
    for(int i = 0; i <= mid; i++) {
      cycle |= was[i];
    }
    if(cycle) {
      r = mid - 1;
    }
    else {
      l = mid + 1;
      ans = mid;
    }
    for(int i = 0; i <= mid; i++) {
      adj[i].clear();
      was[i] = 1;
      in[i] = 0;
    }
  }
  std::cout << ans << "\n";
  for(int i = 1; i <= ans; i++) {
    std::cout << pref[i] - pref[i - 1] << " ";
  }
  std::cout << "\n";
}
signed main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(nullptr);
  int t = 1;
  std::cin >> t;
  while (t--) {
      solve();
  }
  return 0;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |