#include <bits/stdc++.h>
using namespace std;
const long long N = 5e5;
const long long INF = 2e18;
long long n, x, y, i, j, pos, col, a[N], b[N], mn = 1e18, k, sum, i1, now = 0,
                                               f[N], pay, t, p, q;
string s;
vector<long long> v;
char c[N];
int main() {
  cin >> t;
  while (t--) {
    cin >> x >> y >> k;
    p = min(x, y);
    q = max(x, y);
    if (p == q && p == k) {
      cout << k << "\n";
      continue;
    }
    if (p == q && p > k) {
      cout << -1 << "\n";
      continue;
    }
    if (p == q && p < k) {
      if ((p - k) % 2 == 0) {
        cout << k << "\n";
        continue;
      }
      if (p + 1 > k) {
        cout << -1 << "\n";
        continue;
      }
      cout << k - 2 << "\n";
      continue;
    }
    if (q > k) {
      cout << -1 << "\n";
      continue;
    }
    if ((k - q) % 2 == 1 && (q - p) % 2 == 1) {
      if (q > k) {
        cout << -1 << "\n";
        continue;
      }
      cout << k - 1 << "\n";
      continue;
    }
    if ((k - q) % 2 == 0 && (q - p) % 2 == 0) {
      cout << k << "\n";
      continue;
    }
    if ((k - q) % 2 == 0 && (q - p) % 2 == 1) {
      if (q > k) {
        cout << -1 << "\n";
        continue;
      }
      cout << k - 1 << "\n";
      continue;
    }
    if ((k - q) % 2 == 1 && (q - p) % 2 == 0) {
      if (q + 1 > k) {
        cout << -1 << "\n";
        continue;
      }
      cout << k - 2 << "\n";
      continue;
    }
  }
}
