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.*;
public class Subsequence1
{
	public static void main(String[] args)
	{
	    Scanner sc = new Scanner(System.in);
        int t = sc.nextInt();
		for(int i=1;i<=t;i++)
		{
		   int m = sc.nextInt();
		   int n = sc.nextInt();
		   Vector<Integer> a = new Vector<Integer>(m);
		   Vector<Integer> b = new Vector<Integer>(n);
		   for(int j=0;j<m;j++)
		   {
			   a.insertElementAt(sc.nextInt(),j);
		   }
		   for(int j=0;j<n;j++)
		   {
			   b.insertElementAt(sc.nextInt(),j);
		   }
		   Collections.sort(a);
		   Collections.sort(b);
		   int count = 0,no=0;
           for(int j=0;j<a.size();j++)
		   {
				for(int k=0;k<b.size();k++)
				{
					if(a.size()==1&&b.size()==1)
					{
						if(a.elementAt(j)==b.elementAt(k)){count += 1;no=a.elementAt(j);}	
					}
					else
					{
						if(j!=a.size()-1)
						{
							if(a.elementAt(j)==b.elementAt(k) && a.elementAt(j)!=a.elementAt(j+1))
							{
								count += 1;
								no = a.elementAt(j);	
							}
						}
						else
						{
							if(a.elementAt(j)==b.elementAt(k)){count += 1;no=a.elementAt(j);}	
						}
					}
				}
		   }			   
		   System.out.println(count==0?"NO":"YES"+"\n"+"1"+" "+no);
		}
	}
}