#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define ld long double
#define ff first
#define ss second
#define ln "\n"
#define mp make_pair
const ll INF = 2e18;
const ll MOD = 1e9+7;
vector<ll> pref;
vector<vector<ll>> A;
bool pos;
void dfs(ll i, ll starter){
pref[i]=-1;
ll mx=starter;
for (auto j:A[i]){
if (pref[j]==-1) {pos=0;}
else{
if (!pref[j]) dfs(j, starter);
mx=max(mx, pref[j]+1);
}
}
pref[i]=mx;
}
bool check(ll n, ll m, ll len){
pref.assign(len+1, 0);
A.assign(len+1, vector<ll>());
for (ll i=1; i<=len; i++){
if (i>=n) A[i-n].push_back(i);
if (i>=m) A[i].push_back(i-m);
}
pos=1; ll starter=1;
for (ll i=0; i<=len and pos; i++){
if (!pref[i]) dfs(i, starter++);
}
if (pos==0) return 0;
return 1;
}
void solve(){
ll n, m; cin >> n >> m;
if (max(n, m)%min(n, m)==0){
cout << max(n, m)-1 << ln;
for (ll i=0; i<max(n, m)-1; i++){
cout << (max(n, m)==n?1:-1) << " ";
}
cout << ln; return;
}
// m%n
ll l = m+n-1-__gcd(m, n);
check(n, m, l);
cout << l << ln;
for (ll i=1; i<=l; i++){
cout << pref[i]-pref[i-1] << " ";
}
cout << ln;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
auto start = chrono::high_resolution_clock::now();
ll t=1;
cin >> t;
while (t--) solve();
#ifdef LOCAL
auto duration = chrono::duration_cast<chrono::microseconds>(chrono::high_resolution_clock::now() - start);
cout << setprecision(0) << fixed << "time: " << (double)duration.count()/1000.0 << " milliseconds" << endl;
#endif
}
# | 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... |