#include<bits/stdc++.h>
#define IOS ios_base::sync_with_stdio(false);cin.tie();cout.tie();
#define all(x) x.begin(), x.end()
#define int long long
#define pq priority_queue
#define eb emplace_back
#define lb lower_bound
#define ub upper_bound
#define pb push_back
#define pp pop_back
#define F first
#define S second
using namespace std;
int n, m;
int T, k;
int pre[400005];
void dfs(int s) {
if (pre[s]) return;
if (s - n >= 0) dfs(s - n);
if (s + m <= k) dfs(s + m);
pre[s] = T++;
}
void solve () {
cin >> n >> m;
k = n + m - __gcd(n, m) - 1;
fill(pre, pre + k + 1, 0);
T = 1;
for (int i = 0; i <= k; i++) dfs(i);
cout << k << endl;
for (int i = 0; i < k; i++) cout << pre[i] - pre[i+1] << ' ';
cout << '\n';
}
signed main() {IOS int t; 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... |