gcd思想、
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7;
vector<int>mapn;
int main() {
int t;
cin >> t;
while (t--) {
int n, m;
cin >> n >> m;
mapn.clear();
while (1) {
if (n > m)swap(n, m);
if (n == 0)break;
if (n == 1) {
for (int i = 1; i <= m; i++)mapn.push_back(1);
break;
}
for (int i = 1; i <= n; i++)mapn.push_back(n);
m = m - n;
}
int len = mapn.size();
cout << len << endl;
for (int i = 0; i < len; i++) {
printf("%d%c", mapn[i], " \n"[i == len - 1]);
}
}
return 0;
}