#include <bits/stdc++.h>
int va = 1e9 + 7;
long long val[200007] = {0};
using namespace std;
long long getmul(long long n) {
  long long int k{0};
  while (n > 0) {
    k += n % 10;
    n = n / 10;
  }
  return k;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int t{1};
  cin >> t;
  while (t--) {
    vector<long long> arr(3);
    cin >> arr[0] >> arr[1] >> arr[2];
    sort((arr).begin(), (arr).end());
    long long gap = arr[2] - arr[1], ans{0};
    if (gap <= arr[0]) {
      arr[0] -= gap;
      ans += gap;
      arr[2] -= gap;
    } else {
      ans += arr[0];
      arr[2] -= arr[0];
      arr[0] = 0;
    }
    long long x = arr[0] / 2;
    if (arr[0] % 2)
      arr[1] -= x, arr[2] -= (x + 1);
    else
      arr[1] -= x, arr[2] -= x;
    ans += arr[0];
    ans += min(arr[1], arr[2]);
    cout << ans << "\n";
  }
  return 0;
}
