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.
import java.util.*;
import java.lang.*;
import java.io.*;

public class A {
	public static void main (String[] args) throws java.lang.Exception {
		new Solution();
	}
}
class Solution {
	Scanner scanner;
	public Solution() {
		scanner = new Scanner(System.in);

		scanner.nextLine();
		while (scanner.hasNext()) {
			run_case();
		}
	}

	Map<String, Integer> mem;
	int[] dishes;
	int[][] sev;
	Set<Integer> used;
	private void run_case() {
		String line = scanner.nextLine();
		int[] arr = strToIntArray(line);

		// init
		used = new HashSet<>();
		mem = new HashMap<>();
		int a = arr[0], b = arr[1], c = arr[2];

		dishes = new int[]{a, b, c};
		sev = new int[][]{{1, 0, 0}, {0, 1, 0}, {0, 0, 1},
			{1, 1, 0}, {1, 0, 1}, {0, 1, 1}, {1, 1, 1}};

		int res = dfs(0);
		System.out.println(res);

		return;
	}

	private int dfs(int idx) {
		if (idx == 7) return 0;

		String key = Arrays.toString(dishes) + "_" + String.valueOf(idx);
		if (mem.containsKey(key)) return mem.get(key);

		// System.out.println("arr = " + Arrays.toString(dishes));

		int res = 0;
		for (int i=idx; i<7; i++) {


			for (int j=0; j<3; j++) {
				dishes[j] -= sev[i][j];
			}

			// check
			boolean ok = true;
			for (int j=0; j<3; j++) {
				if (dishes[j] < 0) ok = false;
			}

			if (ok) res = Math.max(res, 1 + dfs(i + 1));

			for (int j=0; j<3; j++) {
				dishes[j] += sev[i][j];
			}
		}

		mem.put(key, res);
		return res;
	}

	private int[] strToIntArray(String str) {
	    String[] vals = str.split("\\s+");
	    int sz = vals.length;
	    int[] res = new int[sz];
	    for (int i=0; i<sz; i++) {
	        res[i] = Integer.parseInt(vals[i]);
	    }
	    return res;
	}
}
