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

public class Drogon {
    static int arr[]={7,1,2,3,4,5,6};
    static ArrayList<String> permutate;
    public static void main(String[] args) throws Exception {
        FastReader sc = new FastReader();
        int t=sc.nextInt();
        permutate=new ArrayList<>();
        pre(7);
        while (t-->0){
            int max=0;
            int a=sc.nextInt(),b=sc.nextInt(),c=sc.nextInt();
            int a1=a,b1=b,c1=c;
            for (int i=0;i<permutate.size();i++){
                String s=permutate.get(i);
                int cnt=0;
                a=a1;b=b1;c=c1;
                for (int j=0;j<s.length();j++){
                    int x=s.charAt(j)-'0';
                    boolean f=false;
                    for (int k=0;k<3;k++){
                        if ((x&(1<<k))!=0){
                            if (k==0){
                                if (a>0) {
                                    a--;
                                }else {
                                    f=true;
                                    break;
                                }
                            }else if (k==1){
                                if (b>0){
                                    b--;
                                }else {
                                    f=true;
                                    break;
                                }
                            }else {
                                if (c>0) {
                                    c--;
                                }else {
                                    f=true;
                                    break;
                                }
                            }
                        }
                    }
                    if (f){
                        for (int k=0;k<3;k++){
                            if ((x&(1<<k))!=0){
                                if (k==0){
                                    if (a>0) {
                                        a++;
                                    }else {
                                        break;
                                    }
                                }else if (k==1){
                                    if (b>0){
                                        b++;
                                    }else {
                                        break;
                                    }
                                }else {
                                    if (c>0) {
                                        c++;
                                    }else {
                                        break;
                                    }
                                }
                            }
                        }
                    }else cnt++;
                }
                max=Math.max(cnt,max);
            }
            System.out.println(max);
        }

    }
    static void pre(int n){
        if (n==1){
            StringBuilder sb=new StringBuilder();
            for (int i=0;i<arr.length;i++){
                sb.append(arr[i]);
            }
            permutate.add(sb.toString());
        }else {
            for (int j=0;j<n;j++){
                int tmp=arr[j];
                arr[j]=arr[n-1];
                arr[n-1]=tmp;
                pre(n-1);
                tmp=arr[j];
                arr[j]=arr[n-1];
                arr[n-1]=tmp;
            }
        }
    }

    static class FastReader {
        BufferedReader br;
        StringTokenizer st;

        public FastReader() {
            br = new BufferedReader(new
                    InputStreamReader(System.in));
        }

        String next() {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

        int nextInt() {
            return Integer.parseInt(next());
        }

        long nextLong() {
            return Long.parseLong(next());
        }

        double nextDouble() {
            return Double.parseDouble(next());
        }

        String nextLine() {
            String str = "";
            try {
                str = br.readLine();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return str;
        }
    }
}