import java.util.Scanner; public class DoMain { public static void main(String[] args) {
        Scanner in = new Scanner(System.in); int T = in.nextInt(); int[][] array = new int[T][4]; for (int i = 0; i < T; i++) {
            array[i][0] = in.nextInt();
            array[i][1] = in.nextInt();
            array[i][2] = in.nextInt();
            array[i][3] = in.nextInt();
        } foo(array);

    } public static void foo(int[][] arr) {
        System.out.println(arr.length); for (int i = 0; i < arr.length; i++) { while (true) { if (arr[i][0] == 0) {
                    System.out.println("Yes"); break;
                } else if (arr[i][0] == -1) {
                    System.out.println("No"); break;
                }
                arr[i] = cal(arr[i]);
            }
        }
    } public static int[] cal(int[] ar) { if (ar[3] >= 2) {
            ar[3] -= 2;
            ar[0] -= 1;
        } else if (ar[3] == 1 && ar[2] >= 1 && ar[1] >= 1) {
            ar[3] -= 1;
            ar[2] -= 1;
            ar[1] -= 1;
            ar[0] -= 1;
        } else if (ar[3] == 1 && ar[2] == 0 && ar[1] >= 3) {
            ar[3] -= 1;
            ar[1] -= 3;
            ar[0] -= 1;
        } else if (ar[3] == 0 && ar[2] >= 3) {
            ar[2] -= 3;
            ar[0] -= 1;
        } else if (ar[3] == 0 && ar[2] == 2 && ar[1] >= 2) {
            ar[2] -= 2;
            ar[1] -= 2;
            ar[0] -= 1;
        } else if (ar[3] == 0 && ar[2] == 1 && ar[1] >= 4) {
            ar[2] -= 2;
            ar[1] -= 4;
            ar[0] -= 1;
        } else if (ar[3] == 0 && ar[2] == 0 && ar[1] >= 6) {
            ar[1] -= 6;
            ar[0] -= 1;
        } else {
            ar[0] = -1;
        } return ar;
    }
}

吃雪糕这个懒得想,直接穷举所有可能,取快递那个应该是用栈来做的,后面修改过,但是还没有来得及提交,就GG了