Tired of boring office work, Denis decided to open a fast food restaurant.

On the first day he made a portions of dumplings, b portions of cranberry juice and c pancakes with condensed milk.

The peculiarity of Denis's restaurant is the procedure of ordering food. For each visitor Denis himself chooses a set of dishes that this visitor will receive. When doing so, Denis is guided by the following rules:

  * every visitor should receive at least one dish (dumplings, cranberry juice, pancakes with condensed milk are all considered to be dishes); 
  * each visitor should receive no more than one portion of dumplings, no more than one portion of cranberry juice and no more than one pancake with condensed milk; 
  * all visitors should receive different sets of dishes. 



What is the maximum number of visitors Denis can feed?

Input

The first line contains an integer t (1 ≤ t ≤ 500) — the number of test cases to solve.

Each of the remaining t lines contains integers a, b and c (0 ≤ a, b, c ≤ 10) — the number of portions of dumplings, the number of portions of cranberry juice and the number of condensed milk pancakes Denis made.

Output

For each test case print a single integer — the maximum number of visitors Denis can feed.

Example

Input

7
1 2 1
0 0 0
9 1 7
2 2 3
2 3 2
3 2 2
4 4 4


Output

3
0
4
5
5
5
7

Note

In the first test case of the example, Denis can feed the first visitor with dumplings, give the second a portion of cranberry juice, and give the third visitor a portion of cranberry juice and a pancake with a condensed milk.

In the second test case of the example, the restaurant Denis is not very promising: he can serve no customers.

In the third test case of the example, Denise can serve four visitors. The first guest will receive a full lunch of dumplings, a portion of cranberry juice and a pancake with condensed milk. The second visitor will get only dumplings. The third guest will receive a pancake with condensed milk, and the fourth guest will receive a pancake and a portion of dumplings. Please note that Denis hasn't used all of the prepared products, but is unable to serve more visitors.
#include <bits/stdc++.h>
long long int MMM = 1000000007;
int pw(long long int a, long long int b) {
  if (b == 0) return 1;
  long long int t = pw(a, b / 2);
  if (b % 2 == 0)
    return (t * t) % 1000000007;
  else
    return ((t * t) % 1000000007 * a) % 1000000007;
}
using namespace std;
vector<int> pm;
void prm(int n) {
  bool prime[n + 1];
  memset(prime, true, sizeof(prime));
  for (int p = 2; p * p <= n; p++) {
    if (prime[p] == true) {
      for (int i = p * p; i <= n; i += p) prime[i] = false;
    }
  }
  for (int p = 2; p <= n; p++)
    if (prime[p]) pm.push_back(p);
}
bool sortbysecdesc(const pair<long long int, long long int> &a,
                   const pair<long long int, long long int> &b) {
  return a.first > b.first;
}
bool cmp(int x, int y) { return x > y; }
long long int gcd(long long int a, long long int b) {
  if (!a) return b;
  return gcd(b % a, a);
}
int pa[26];
int find(int i) {
  if (i == pa[i]) return i;
  return pa[i] = find(pa[i]);
}
void join(int i, int j) {
  int a = find(i);
  int b = find(j);
  if (b >= a)
    pa[b] = a;
  else
    pa[a] = b;
}
int dx[] = {-1, -1, -1, 0, 1, 1, 1, 0};
int dy[] = {-1, 0, 1, 1, 1, 0, -1, -1};
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int t;
  cin >> t;
  while (t--) {
    int a[4];
    cin >> a[0] >> a[1] >> a[2];
    int p = 1;
    int ans = 0;
    sort(a, a + 3, cmp);
    for (int i = 0; i < 3; i++) {
      if (a[i] >= p) {
        ans++;
        a[i] -= p;
      }
    }
    sort(a, a + 3, cmp);
    for (int i = 0; i < 3; i++) {
      if (a[i % 3] >= p && a[(i + 1) % 3] >= p) {
        a[i % 3] -= p;
        a[(i + 1) % 3] -= p;
        ans++;
      }
    }
    if (a[0] >= p && a[1] >= p && a[2] >= p) {
      ans++;
      a[0]--;
      a[1]--;
      a[2]--;
    }
    cout << ans << endl;
  }
}
