// Source: https://usaco.guide/general/io
#include <bits/stdc++.h>
#define lsb(x) (x & -x)
using namespace std;
const int N = 20;
int n, m, curr, a[N + 5], b[N + 5], sum[1 << N];
int check(int x){
for(int mask = curr;mask > 0;mask = (mask - 1) & curr)if(sum[mask] == x)return mask;
cout << "NO";
exit(0);
}
int main() {
cin>> n >> m;
for(int i = 0;i < n;++i)cin>>a[i];
for(int i = 0;i < m;++i)cin>>b[i];
curr = (1 << m) - 1;
for(int mask = 0;mask <= curr;++mask){
for(int I = mask;I;I -= lsb(I)){
int i = __builtin_ctz(lsb(I));
sum[mask] += b[i];
}
// cout << mask <<" "<< sum[mask] << endl;
}
for(int i = 0;i < n;++i)curr ^= check(a[i]);
cout << "YES";
}