#include <iostream>
#include <vector>
#include <utility>
#include <set>
#include <algorithm>
#include <cmath>
#include <bitset>
#include <string>
// ——— TYPE ALIASES ———
using namespace std;
using ll = long long;
using ull = unsigned long long;
using ld = long double;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
using vi = vector<int>;
using vb = vector<bool>;
using vll = vector<ll>;
using vpii = vector<pii>;
using vpll = vector<pll>;
using si = set<int>;
using spii = set<pii>;
// ——— CONSTANTS ———
constexpr int INF_INT = 0x3f3f3f3f;
constexpr ll INF_LL = 4e18;
constexpr ll MOD = 1e9 + 7;
constexpr ll MOD2 = 998244353;
constexpr ld EPS = 1e-9;
constexpr ld PI = acos(-1.0L);
// ——— MACROS ———
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define sz(x) int((x).size())
#define pb push_back
#define eb emplace_back
#define rep(i,n) for(int i=0;i<(n);++i)
#define rrep(i,n) for(int i=(n)-1;i>=0;--i)
#define each(x,v) for(auto &x : v) //range traversal
#define popcnt(x) __builtin_popcount(x)
#define popcntll(x) __builtin_popcountll(x)
#define bit(x) bitset<32>(x) //bitset
// ——— MATH ———
ll modexp(ll base, ll exp, ll m) {
ll res = 1 % m;
base %= m;
while (exp > 0) {
if (exp & 1) res = (res * base) % m;
base = (base * base) % m;
exp >>= 1;
}
return res;
}
ll gcd_ll(ll a, ll b) {
return b == 0 ? a : gcd_ll(b, a % b);
}
ll lcm_ll(ll a, ll b) {
return (a / gcd_ll(a, b)) * b;
}
void done() {
ll n,m,k; cin>>n>>m>>k;
int odd=0,a=0,b=0,c=0;
if(n&1){odd++;a=1;}
if(m&1){odd++;b=1;}
if(k&1){odd++;c=1;}
if(odd==0 || odd==1) cout<<n+m+k<<endl;
else if(odd==2) cout<<n+m+k-1<<endl;
else cout<<n+m+k-2<<endl;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int T; cin >> T;
while (T--) done();
return 0;
}