#include<stdio.h>#include<iostream>#include<math.h>#include<algorithm>using namespace std;long long pson, pmom;int deep, num[10];bool les(long long a,long long b,long long c,long long d){ long long ac = __gcd(a,c), bd = __gcd(b,d); a /= ac, c /= ac, b /= bd, d /= bd; return (a*d<=b*c);}bool dfs(long long son,long long mom,int pos,int plu){ if (pson*mom==pmom*son) return true; if (pos==deep) return false; if (plu){ for (int k=2;true;k++){ if (!les(pson,pmom,son*k+1,mom*k)) return false; num[pos+1] = k; if (dfs(son*k+1,mom*k,pos+1,plu^1)) return true; } } else { for (int k=2;true;k++){ if (!les(son*k-1,mom*k,pson,pmom)) return false; num[pos+1] = k; if (dfs(son*k-1,mom*k,pos+1,plu^1)) return true; } }}int main(){ int T; scanf("%d",&T); while (T--){ scanf("%lld %lld",&pson,&pmom); long long gcd = __gcd(pson,pmom); pson /= gcd; pmom /= gcd; for (deep = 1;deep < 6;deep++){ if (dfs(0,1,0,1)) break; pson = pmom - pson; if (dfs(0,1,0,1)) break; pson = pmom - pson; } if (deep==6) puts("Too complex"); else{ printf("%d",num[1]); for (int i=2;i<=deep;i++) printf(" %d",num[i]); puts(""); } }}