/*
* @author:- MAHMUDUL HASAN SAKIB
* DATE:-11/07/2024 ; TIME-2024-07-11 20:19:52 PM
* BANGLADESH , SYLHET.
*/
#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define endl '\n'
#define ll long long
#define ld long double
#define pb push_back
#define mp make_pair
#define vi vector<ll>
#define maxn 500005
#define mod 1000000007
#define inf 1000000007
#define pii pair<ll,ll>
#define vii vector<pii>
#define sz(x) (int)x.size()
#define all(x) x.begin(), x.end()
#define lcm(a,b) ((a*b)/__gcd(a,b));
#define srt(v) sort(v.begin(),v.end())
#define rsrt(v) sort(v.rbegin(),v.rend())
#define rep(i, a, b) for(int i = (a); i < (b); i++)
#define per(i, a, b) for(int i = (a); i > (b); i--)
#define rev_str(str) reverse(str.begin(),str.end());
#define print(v) for(auto e:v) cout<<e<<" "; cout<<endl;
#define printp(v) for(auto e:v) cout<<e.first<<" "<<e.second<<endl;
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
void solve() {
ll a,b,c;cin>>a>>b>>c;
set<ll>p;
p.insert(a);
p.insert(b);
p.insert(c);
if(sz(p)==1){
cout<<0<<endl;
}
else if(sz(p)==2){
cout<<1<<endl;
}
else{
//ll ans = min(min((abs(a-b)+abs(a-c)),(abs(b-a)+abs(b-c))),(abs(c-b)+abs(c-a)));
//cout<<2<<endl;
ll max_ = max(max(a, b), c);
ll min_ = min(min(a, b), c);
ll mid_ = a + b + c - max_ - min_;
ll diff_1 = max_ - mid_;
ll diff_2 = mid_ - min_;
//ll count = (diff_1 / 2) + (diff_2 / 2);
/*if ((diff_1 % 2 != 0) || (diff_2 % 2 != 0)) {
count++;
}
cout << count << endl;*/
if(diff_1== diff_2){
cout<<1<<endl;
}
else{
cout<<2<<endl;
}
}
}
int main() {
#ifndef ONLINE_JUDGE
auto start = std::chrono::high_resolution_clock::now();
#endif
fast
ll t=1;cin>>t;
while(t--)
{
solve();
}
#ifndef ONLINE_JUDGE
auto end = std::chrono::high_resolution_clock::now();
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - start);
std::cout << "Time taken: " << duration.count() << " milliseconds\n";
#endif
return 0;
}