//PLUS ULTRA
#include<bits/stdc++.h>
using namespace std;
#define SPEED ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define pb push_back
#define forn(i,st,n) for(int i = st; i < n ; i++)
#define nfor(i,st,n) for(int i = st; i >= n ; i--)
#define ss second
#define ff first
#define ll long long
typedef pair <int , int> pii;
const int N = 1e5 + 10 , mod = 1000000007;
bool fun(std::vector<int> a , std::vector<int> b , int x , int y){
if(a[x] != 0 && a[y] != 0 && b[x] % a[x] == 0 && b[y] % a[y] == 0 && b[x] / a[x] == b[y] / a[y] ){
return true;
}else if(b[x] - a[x] == b[y] - a[y]){
return true;
}
return false;
}
int problemSolver(int a[] , int b[]);
void solve(){
int a[3] , b[3];
forn(i,0,3)cin >> a[i];
forn(i,0,3)cin >> b[i];
int a2[3] ;
int ans = problemSolver(a , b);
a2[0] = a[0];
a2[1] = a[2];
a2[2] = a[1];
ans = min( ans , problemSolver(a2 , b) );
a2[0] = a[1];
a2[1] = a[0];
a2[2] = a[2];
ans = min(problemSolver(a2 , b) , ans);
a2[0] = a[1];
a2[1] = a[2];
a2[2] = a[0];
ans = min(ans , problemSolver(a2 , b));
a2[0] = a[2];
a2[1] = a[0];
a2[2] = a[1];
ans = min(ans , problemSolver(a2 , b));
a2[0] = a[2];
a2[1] = a[1];
a2[2] = a[0];
ans = min(ans , problemSolver(a2 , b));
cout << ans << "\n";
}
int problemSolver(int a[] , int b[]){
// int a[3] , b[3];
// forn(i,0,3)cin >> a[i];
// forn(i,0,3)cin >> b[i];
int chng = 0;
std::vector<int> initial , final ;
forn(i,0,3){
if(a[i] != b[i]){
chng++;
initial.pb(a[i]);
final.pb(b[i]);
}
}
if(chng < 2){
// cout << chng << "\n";
return chng;
}else if(chng == 2){
// if(initial[0] % a[0] == 0 && b[1] % a[1] == 0 && b[0] / a[0] == b[1] / a[1] ){
// cout << "1\n";
// }else if(b[0] - a[0] == b[1] - a[0]){
// cout << "1\n";
// }else{
// cout << "2\n";
// }
if(fun(initial , final , 0 , 1)){
// cout << "1" << "\n";
return 1;
}else if(b[0] - a[0] == b[1] - a[1]){
// cout << "1\n";
return 1;
}else return 2;
// cout << "2\n";
}else{
bool flag = true;
forn(i,0,3){
if(a[i] == 0 || b[i] % a[i] != 0 ){
flag = false;
}
}
if(flag && b[0] / a[0] == b[1] / a[1] && b[0] / a[0] == b[2]/a[2]){
// cout << "1\n";
return 1;
}else if(b[0] - a[0] == b[1] - a[1] && b[2] - a[2] == b[1] - a[1]){
// cout << "1\n";
return 1;
}else {
flag = false;
flag = flag || fun(initial , final , 0 , 1);
flag = flag || fun(initial , final , 0 , 2);
flag = flag || fun(initial , final , 1 , 2);
if(flag ){
// cout << "2\n";
return 2;
}else{
// cout << "3\n";
return 3;
}
}
}
}
int main(){
SPEED;
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#endif
int t = 1;
cin >> t;
while(t--) solve();
return 0;
}
Ly9QTFVTIFVMVFJBCgoKI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKICAgICAKICAgICAKI2RlZmluZSBTUEVFRCBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApCiNkZWZpbmUgcGIgcHVzaF9iYWNrIAojZGVmaW5lIGZvcm4oaSxzdCxuKSBmb3IoaW50IGkgPSBzdDsgaSA8IG4gOyBpKyspCiNkZWZpbmUgbmZvcihpLHN0LG4pIGZvcihpbnQgaSA9IHN0OyBpID49IG4gOyBpLS0pCiNkZWZpbmUgc3Mgc2Vjb25kCiNkZWZpbmUgZmYgZmlyc3QKI2RlZmluZSBsbCBsb25nIGxvbmcgCgp0eXBlZGVmIHBhaXIgPGludCAsIGludD4gcGlpOwoKY29uc3QgaW50IE4gPSAxZTUgKyAxMCAsIG1vZCA9ICAxMDAwMDAwMDA3OwoKYm9vbCBmdW4oc3RkOjp2ZWN0b3I8aW50PiBhICAsIHN0ZDo6dmVjdG9yPGludD4gYiAsIGludCB4ICwgaW50IHkpewogICAgaWYoYVt4XSAhPSAwICYmIGFbeV0gIT0gMCAmJiBiW3hdICUgYVt4XSA9PSAwICYmIGJbeV0gJSBhW3ldID09IDAgJiYgYlt4XSAvIGFbeF0gPT0gYlt5XSAvIGFbeV0gKXsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CgogICAgfWVsc2UgaWYoYlt4XSAtIGFbeF0gPT0gYlt5XSAtIGFbeV0pewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKCgogICAgfQoKICAgIHJldHVybiBmYWxzZTsKCn0KCmludCBwcm9ibGVtU29sdmVyKGludCBhW10gLCBpbnQgYltdKTsKCnZvaWQgc29sdmUoKXsKCWludCBhWzNdICAsIGJbM107Cglmb3JuKGksMCwzKWNpbiA+PiBhW2ldOwoJZm9ybihpLDAsMyljaW4gPj4gYltpXTsKCQoJaW50IGEyWzNdIDsKCQoJaW50IGFucyA9IHByb2JsZW1Tb2x2ZXIoYSAsIGIpOwoJCglhMlswXSA9IGFbMF07CglhMlsxXSA9IGFbMl07CglhMlsyXSA9IGFbMV07CgkKCWFucyA9IG1pbiggYW5zICwgIHByb2JsZW1Tb2x2ZXIoYTIgLCBiKSApOwoJCglhMlswXSA9IGFbMV07CglhMlsxXSA9IGFbMF07CglhMlsyXSA9IGFbMl07CgkKCWFucyA9IG1pbihwcm9ibGVtU29sdmVyKGEyICwgYikgLCBhbnMpOwoJCglhMlswXSA9IGFbMV07CglhMlsxXSA9IGFbMl07CglhMlsyXSA9IGFbMF07IAoJCglhbnMgPSBtaW4oYW5zICwgcHJvYmxlbVNvbHZlcihhMiAsIGIpKTsKCQoJYTJbMF0gPSBhWzJdOwoJYTJbMV0gPSBhWzBdOwoJYTJbMl0gPSBhWzFdOwoJCglhbnMgPSBtaW4oYW5zICwgcHJvYmxlbVNvbHZlcihhMiAsIGIpKTsKCQoJYTJbMF0gPSBhWzJdOwoJYTJbMV0gPSBhWzFdOwoJYTJbMl0gPSBhWzBdOwoJCglhbnMgPSBtaW4oYW5zICwgcHJvYmxlbVNvbHZlcihhMiAsIGIpKTsKCQoJY291dCA8PCBhbnMgPDwgIlxuIjsKCQp9CgppbnQgcHJvYmxlbVNvbHZlcihpbnQgYVtdICwgaW50IGJbXSl7CgogICAgLy8gaW50IGFbM10gLCBiWzNdOwogICAgLy8gZm9ybihpLDAsMyljaW4gPj4gYVtpXTsKICAgIC8vIGZvcm4oaSwwLDMpY2luID4+IGJbaV07CgogICAgaW50IGNobmcgPSAwOwogICAgc3RkOjp2ZWN0b3I8aW50PiBpbml0aWFsICwgZmluYWwgOwogICAgZm9ybihpLDAsMyl7CiAgICAgICAgaWYoYVtpXSAhPSBiW2ldKXsKICAgICAgICAgICAgY2huZysrOwogICAgICAgICAgICBpbml0aWFsLnBiKGFbaV0pOwogICAgICAgICAgICBmaW5hbC5wYihiW2ldKTsKICAgICAgICB9CiAgICB9CgogICAgaWYoY2huZyA8IDIpewogICAgICAgIC8vIGNvdXQgPDwgY2huZyA8PCAiXG4iOyAKICAgICAgICByZXR1cm4gY2huZzsKICAgIH1lbHNlIGlmKGNobmcgPT0gMil7CiAgICAgICAgLy8gaWYoaW5pdGlhbFswXSAlIGFbMF0gPT0gMCAmJiBiWzFdICUgYVsxXSA9PSAwICYmIGJbMF0gLyBhWzBdID09IGJbMV0gLyBhWzFdICl7CiAgICAgICAgLy8gICAgIGNvdXQgPDwgIjFcbiI7IAoKICAgICAgICAvLyB9ZWxzZSBpZihiWzBdIC0gYVswXSA9PSBiWzFdIC0gYVswXSl7CiAgICAgICAgLy8gICAgIGNvdXQgPDwgIjFcbiI7CgoKICAgICAgICAvLyB9ZWxzZXsKICAgICAgICAvLyAgICAgY291dCA8PCAiMlxuIjsKICAgICAgICAvLyB9CgogICAgICAgIGlmKGZ1bihpbml0aWFsICwgZmluYWwgLCAwICwgMSkpewogICAgICAgICAgICAvLyBjb3V0IDw8ICIxIiA8PCAiXG4iOwogICAgICAgICAgICByZXR1cm4gMTsKCgogICAgICAgIH1lbHNlIGlmKGJbMF0gLSBhWzBdID09IGJbMV0gLSBhWzFdKXsKICAgICAgICAgICAgLy8gY291dCA8PCAiMVxuIjsKICAgICAgICAgICAgcmV0dXJuIDE7CgoKICAgICAgICB9ZWxzZSByZXR1cm4gMjsKICAgICAgICAvLyBjb3V0IDw8ICIyXG4iOwoKCgogICAgICAgIAogICAgfWVsc2V7CgogICAgICAgIGJvb2wgZmxhZyA9IHRydWU7CgogICAgICAgIGZvcm4oaSwwLDMpewogICAgICAgICAgICBpZihhW2ldID09IDAgfHwgYltpXSAlIGFbaV0gIT0gMCApewogICAgICAgICAgICAgICAgZmxhZyA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZihmbGFnICYmIGJbMF0gLyBhWzBdID09IGJbMV0gLyBhWzFdICYmIGJbMF0gLyBhWzBdID09IGJbMl0vYVsyXSl7CiAgICAgICAgICAgIC8vIGNvdXQgPDwgIjFcbiI7CgkJCXJldHVybiAxOwogICAgICAgIH1lbHNlIGlmKGJbMF0gLSBhWzBdID09IGJbMV0gLSBhWzFdICYmIGJbMl0gLSBhWzJdID09IGJbMV0gLSBhWzFdKXsKICAgICAgICAgICAgLy8gY291dCA8PCAiMVxuIjsKICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgfWVsc2UgewogICAgICAgICAgICBmbGFnID0gZmFsc2U7CiAgICAgICAgICAgIGZsYWcgPSBmbGFnIHx8IGZ1bihpbml0aWFsICwgZmluYWwgLCAwICwgMSk7CiAgICAgICAgICAgIGZsYWcgPSBmbGFnIHx8IGZ1bihpbml0aWFsICwgZmluYWwgLCAwICwgMik7CiAgICAgICAgICAgIGZsYWcgPSBmbGFnIHx8IGZ1bihpbml0aWFsICwgZmluYWwgLCAxICwgMik7CgogICAgICAgICAgICBpZihmbGFnICl7CiAgICAgICAgICAgICAgICAvLyBjb3V0IDw8ICIyXG4iOwoJCQkJcmV0dXJuIDI7CiAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgLy8gY291dCA8PCAiM1xuIjsKICAgICAgICAgICAgICAgIHJldHVybiAzOwogICAgICAgICAgICB9CgogICAgICAgIH0KCgoKCiAgICB9CiAgICAKCiAgICAKICAgIAogICAgICAgIAoKCn0KCmludCBtYWluKCl7CiAgICBTUEVFRDsKCgogICAgI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgICAgICBmcmVvcGVuKCJpbi50eHQiLCAiciIsIHN0ZGluKTsKICAgICAgICBmcmVvcGVuKCJvdXQudHh0IiwgInciLCBzdGRvdXQpOwogICAgI2VuZGlmCgogICAgaW50IHQgPSAxOyAKICAgIAogICAgY2luID4+IHQ7CiAgICAKCiAgICB3aGlsZSh0LS0pIHNvbHZlKCk7CgoKCgogICAgcmV0dXJuIDA7Cn0=