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


def answer(arr1, arr2,ar):
 
    l1 = len(arr1)
    l2 = len(arr2)
    
   
    dp = [0]*l2
    
    
    for i in range(l1):
        
      
        current = 0
        
       
        for j in range(l2):
            
           
            if arr1[i] == arr2[j]:
                ar.append(arr1[i])
                dp[j] = max(current+1, dp[j])
            
            
            if arr1[i] > arr2[j]:
                current = max(current, dp[j])
    
    
    result = max(dp)
    return result
la = 0
t = int(input())
while la<t:
    ja= list(map(int, input().split()))
    a1 = list(map(int, input().split()))
    a2 = list(map(int, input().split()))
    if a1 ==a2:
        print("YES")
        print(str(1)+" "+str(a1[0]))
        la+=1
        continue
    a = []
    s =""
    d = answer(a1, a2,a)
    if d>=1:
        for i in a:
         s+=str(i)+" "
        print("YES")
        print(str(d) +" "+s)
        
    else:
        print("NO")
    la+=1

