rt
#include <bits/stdc++.h>
#define Code using
#define by namespace
#define zzx std;
Code by zzx;
long long n;
long long a, b, c, d;
int main()
{
scanf("%lld", &n);
while(n--)
{
scanf("%lld %lld %lld %lld", &a, &b, &c, &d);
if(a == c && b == d)
{
printf("0\n");
continue;
}
if(a * b < c * d)
{
printf("-1\n");
continue;
}
int cnt = 1, s = 1, flag = 1;
long long r = a * b;
while(r >= 2 * c * d)
{
if(r <= 2)
{
printf("-1\n");
flag = 0;
break;
}
r = r / 2 + 1;
}
if(flag == 0)
{
continue;
}
r = a * b;
printf("65\n");
printf("1 %lld\n", a);
while(r >= c * d * 2)
{
++cnt;
printf("%d %lld\n", s + 1, r / 2 + 1);
r = r / 2 + 1;
s ^= 1;
}
if(s)
{
printf("2 %lld\n", c * d);
printf("1 %lld\n", d);
}
else
{
printf("1 %lld\n", c * d);
printf("2 %lld\n", c);
}
cnt += 2;
while(cnt <= 65)
{
++cnt;
printf("1 1\n");
}
}
return 0;
}