#include #include #include #include #include #include #include #include #include #include static const int MOD = 1000000007; using ll = long long; using u32 = unsigned; using u64 = unsigned long long; using namespace std; template constexpr T INF = ::numeric_limits::max()/32*15+208; bool IsKadomatsu(int a, int b, int c){ if(a == b || b == c || c == a) return false; return max({a, b, c}) == b || min({a, b, c}) == b; } int main() { int t; cin >> t; ll d = 1, a, b, c; while(t--){ cin >> a >> b >> c; ll ans = INF, val = 0; if(a == c){ a = max(a-d, 1LL); val++; } if(IsKadomatsu(a, b, c)) { cout << val << "\n"; } else if(max({a, b, c}) + 2 == a + b + c) { puts("-1"); }else { if(a > c) swap(a, c); if(a != 1){ ans = min(ans, val + (b-a+d)/d); } if(b != 1){ ll cc = max(1LL, c - (c-b+d)/d*d); if(IsKadomatsu(a, b, cc)){ ans = min(ans, val + (c-b+d)/d); } } cout << (ans == INF ? -1 : ans) << "\n"; } } return 0; }