#include<bits/stdc++.h>
using namespace std;
#define ll long long
/*
BZOJ-1874
Game 打表sg函数
2019/2/13
*/
int f[15];
int hm[15];
bool hashh[10];
int sg[1005];
const int nn=1005;
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&hm[i]);
int m;
scanf("%d",&m);
for(int i=1;i<=m;i++)
scanf("%d",&f[i]);
/*
f[]:可以取走的石子个数
sg[]:0~n的SG函数值
hashh[]:mex{}
nn:石子最大值
m:可以取走的石子个数的种类个数
*/
memset(sg,0,sizeof(sg));
for(int i=1;i<=nn;i++)
{
memset(hashh,0,sizeof(hashh));
for(int j=1;f[j]<=i && j<=m;j++)
hashh[sg[i-f[j]]]=1;
for(int j=0;j<=10;j++)
{
if(hashh[j]==0)
{
sg[i]=j;
break;
}
}
}
int sga=0;
for(int i=1;i<=n;i++)
sga^=sg[hm[i]];
if(sga!=0)
{
printf("YES\n");
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if((hm[i]>=f[j]) && sg[hm[i]-f[j]]==(sga^sg[hm[i]]))
{
printf("%d %d\n",i,f[j]);
return 0;
}
}
}
}
else
{
printf("NO\n");
}
return 0;
}