#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define all(a) a.begin() , a.end()
#define rall(a) a.rbegin() , a.rend()
const int inf = 1e9 + 7 ;
const int sz = 100 + 5 ;
vector<int>b(sz + 1) ;
vector<int>a(sz + 1) ;
bool ok = false ;
void get(int ind , int sum , int n , int k) {
if(ind == n) {
return ;
}
if(sum == k) {
ok = true ;
return ;
}
get(ind + 1 , sum + b[ind] , n , k) ;
get(ind + 1 , sum , n , k) ;
}
void solve() {
int n ;
cin >> n ;
int m ;
cin >> m ;
vector<int>a(n) ;
for(int i = 0 ; i < n ; i ++) {
cin >> a[i] ;
}
for(int i = 0 ; i < m ; i ++) {
cin >> b[i] ;
}
get(0 , 0 , m , a[0]) ;
if(ok) cout << "YES" ;
else cout << "NO" ;
}
signed main() {
int T = 1 ;
//cin >> T ;
while(T --) {
solve() ;
cout << endl ;
}
}