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

#include <bits/stdc++.h>
int main() {
  int z, P = 0;
  scanf("%d", &z);
  while (z--) {
    P = 0;
    int a[1000], b[1000];
    memset(a, 0, sizeof *a);
    memset(b, 0, sizeof *b);
    int ai, bi;
    scanf("%d %d", &ai, &bi);
    for (int ina = 0; ina < ai; ina++) {
      scanf("%d", &a[ina]);
    }
    for (int inb = 0; inb < bi; inb++) {
      scanf("%d", &b[inb]);
    }
    for (int f = 0; f < ai; f++) {
      int J = 0;
      for (int z = 0; z < bi; z++) {
        if (a[f] == b[z]) {
          J++;
        }
        if (J > 1) {
          break;
        }
      }
      if (J == 1) {
        P = 1;
        printf("YES\n");
        printf("1 %d\n", a[f]);
        break;
      }
    }
    if (P == 0) printf("NO\n");
  }
  return 0;
}
