#include <algorithm>
#include <iostream>
#include <numeric>
#include <cassert>
#include <vector>

typedef long long llong;
const int MAXT = 1e5 + 10;
const llong INF = 4e18;

llong rec(llong a, llong b, llong c, llong d, int steps)
{
    if (steps == 11)
    {
        return INF;
    }
    
    if (a == c && b == d)
    {
        return steps;
    }

    return std::min(rec(a + b, b, c, d, steps + 1), rec(a, a + b, c, d, steps + 1));
}

int t;
void solve()
{
    llong max = 0;
    for (int i = 1 ; i <= t ; ++i)
    {
        llong a, b, c, d;
        std::cin >> a >> b >> c >> d;
        llong res = rec(a, b, c, d, 0);
        max = std::max(max, res);
        if (res == INF) std::cout << -1 << '\n';
        else std::cout << res << '\n';
    } 

    std::cerr << max << '\n';
}

void input()
{
    std::cin >> t;
}

void fastIOI()
{
    std::ios_base :: sync_with_stdio(0);
    std::cout.tie(nullptr);
    std::cin.tie(nullptr);
}

int main()
{
    fastIOI();
    input();
    solve();

    return 0;
}