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

public class code {
	static int result=0;
	static void merge(int[] arr, int b, int m, int e) {
		int len1=m-b+1;
		int len2= e-m;
		int[] l= new int[len1];
		int[] r= new int[len2];
		for(int i=0; i<len1; i++) {
			l[i]=arr[b+i];
		}
		for(int i=0; i<len2; i++) {
			r[i]=arr[m+i+1];
		}
		int i=0, j=0, k=b;
		while(i<len1 && j<len2) {
			if(l[i]<=r[j]) {
				arr[k++]=l[i++];
			}
			else {
				arr[k++]=r[j++];
				result+= (len1-i);
			}
		}
		while(i<len1) {
			arr[k++]=l[i++];
		}
		while(j<len2) {
			arr[k++]=r[j++];
		}
	}
	static void sort(int[] arr, int b, int e) {
		if(b<e) {
			int mid=((b+e)/2);
			sort(arr,b,mid);
			sort(arr,mid+1,e);
			merge(arr,b,mid,e);
		}
	}
	static boolean checkluck(int n) {
		while(n>0) {
			if(n%10!=4 && n%10!=7) {
				return false;
			}
			n/=10;
		}
		return true;
	}
	public static void main(String[] args) throws Exception {
		Scanner sc= new Scanner(System.in);
		PrintWriter pw = new PrintWriter(System.out);
		int n= sc.nextInt();
		for(int i=0; i<n; i++) {
			int a=sc.nextInt();
			int b=sc.nextInt();
			int c=sc.nextInt();
			int ans=0;
			if(a>=1) {
				a--;
				ans++;
			}
			if(b>=1) {
				b--;
				ans++;
			}
			if(c>=1) {
				c--;
				ans++;
			}
			if(c<=a && c<=b && a>0 && b>0) {
				b--;a--;ans++;
				if(a>=b && a>0 && c>0) {
					a--;c--; ans++;
					if(b>0 && c>0) {
						b--;c--; ans++;
					}
				}
				if(b>a && b>0 && c>0) {
					b--;c--; ans++;
					if(a>0 && c>0) {
						a--;c--; ans++;
					}
				}
			}
			if(b<=a && b<c && a>0 && c>0) {
				c--;a--;ans++;
				if(a>=c && a>0 && b>0) {
					a--;b--; ans++;
					if(b>0 && c>0) {
						b--;c--; ans++;
					}
				}
				if(c>a && b>0 && c>0) {
					b--;c--; ans++;
					if(a>0 && b>0) {
						a--;b--; ans++;
					}
				}
			}
			if(a<b && a<c && b>0 && c>0) {
				c--;b--;ans++;
				if(b>=c && a>0 && b>0) {
					a--;b--; ans++;
					if(a>0 && c>0) {
						a--;c--; ans++;
					}
				}
				if(c>b && a>0 && c>0) {
					a--;c--; ans++;
					if(a>0 && b>0) {
						a--;b--; ans++;
					}
				}
			}
			if(a>=1 && b>=1 && c>=1) {
				a--;
				b--;
				c--;
				ans++;
			}
			pw.println(ans);
		}
		pw.close();
	}
 
	static class Scanner {
		StringTokenizer st;
		BufferedReader br;
 
		public Scanner(InputStream s) {
			br = new BufferedReader(new InputStreamReader(s));
		}
 
		public Scanner(String file) throws FileNotFoundException {
			br = new BufferedReader(new FileReader(file));
		}
 
		public String next() throws IOException {
			while (st == null || !st.hasMoreTokens())
				st = new StringTokenizer(br.readLine());
			return st.nextToken();
		}
 
		public int nextInt() throws IOException {
			return Integer.parseInt(next());
		}
 
		public long nextLong() throws IOException {
			return Long.parseLong(next());
		}
 
		public String nextLine() throws IOException {
			return br.readLine();
		}
 
		public double nextDouble() throws IOException {
			return Double.parseDouble(next());
		}
 
		public boolean ready() throws IOException {
			return br.ready();
		}
	}
}