void f(ll&a,ll&b,ll*p){ ll i=0; while(a){ ll k=-(b/a); p[i++]=k; b+=a*k; if(b){ k=-(a/b); p[i++]=k; a+=b*k; }else{ p[i++]=0; p[i++]=1; p[i++]=-1; b=a; a=0; } } if(b<0){ p[i++]=0; p[i++]=-1; p[i++]=2; p[i++]=-1; b=-b; } a=i; } { ll@a,@b,@c,@d; ll p[1000],pn; ll q[1000],qn; f(a,b,p); f(c,d,q); if(b!=d){ wt(-1); }else{ wt(a+c); rep(i,a){ wt(i&1?1:2,p[i]); } rrep(i,c){ wt(i&1?1:2,-q[i]); } } }