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 _ in range(t):
    n,m=input().split()
    a=list(map(int,input().split()))
    b=list(map(int,input().split()))
    g={}
    c=1000
    f=0
    for x in a:
        if x in b:
            print("YES")
            f=1
            print(1,end=' ')
            print(x) 
            break
    if f!=1:
        print("NO")
    # for x in a:
    #     if g.get(x):
    #         y=g.get(x)
    #     g.update({x:y+1})
    # if len(g)>0:    
    #     print("YES")
    #     for v in g:
    #         if g.get(v)==1:
    #             print(' ')
    #             print(int(v),end=' ')
    # else:
    #     print("NO")