1
2 2
1 1
1 2
 1
1 3
3
1 2 3
 1
1 1
1000
1000
 1
2 2
2 2
2 2
 5
4 5
10 8 6 4
1 2 3 4 5
1 1
3
3
1 1
3
2
5 3
1000 2 2 2 3
3 1 5
5 5
1 2 3 4 5
1 2 3 4 5
 1
4 4
1 1 1 1
1 2 3 4
 1
2 3
1 1
1 2 3

YES
1 1
 YES
1 3
 YES
1 1000
 YES
1 2
 YES
1 4
YES
1 3
NO
YES
1 3
YES
1 1
 YES
1 1
 YES
1 1

import java.util.ArrayList;
import java.util.Scanner;

public class CommonSubSequence {
    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        int quantidadeNumeros = input.nextInt();

        int[] array1;
        int[] array2;

        ArrayList<String> resposta = new ArrayList<>();

        while(quantidadeNumeros > 0) {

            array1 = new int[input.nextInt()];
            array2 = new int[input.nextInt()];

            for(int i = 0; i < array1.length; i++)
                array1[i] = input.nextInt();

            for(int i = 0; i < array2.length; i++)
                array2[i] = input.nextInt();

            int qCorres = 0;
            int value = 0;

            for(int i = 0; i < array1.length; i++) {
                for(int j = 0; j < array2.length; j++) {
                    if(array1[i] == array2[j]) {
                        if(value != 0 && value != array2[j])
                            qCorres = 0;

                        qCorres += 1;
                        value = array2[j];
                    }
                }
            }

            if(qCorres != 0) {
                resposta.add("YES");
                resposta.add(String.format("%d",qCorres));
                resposta.add(String.format("%d",value));
            }
            else
                resposta.add("NO");

            quantidadeNumeros -= 1;
        }

        for(String r : resposta)
            System.out.println(r);
    }
}
