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

t=int(input())
for var in range(0,t):
    nm=[]
    nm=input().split()
    for k in range(2):
        n=int(nm[0])
        m=int(nm[1])
    a=[]
    a=input().split()
    for i in range(0,n):
        a[i]=int(a[i])
    b=[]
    b=input().split()
    for j in range(m):
        b[j]=int(b[j])
    if n>=m:
        flag1=0
        for i in range(len(a)):
            if a[i] in b:
                print("YES")
                print(1,end=" ")
                print(a[i])
                flag1=1
                break
        if flag1==0:
            print("NO")
    elif m>=n:
        flag2=0
        for i in range(len(b)):
            if b[i] in a:
                print("YES")
                print(1,end=" ")
                print(b[i])
                flag2=1
                break
        if flag2==0:
            print("NO")