#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
//freopen("bank.in","r",stdin);
int n,m; cin>>n>>m;
vector<int> a(n+1),b(m);
for (int i=1;i<=n;i++) cin>>a[i];
for (int i=0;i<m;i++) cin>>b[i];
vector<pair<int,int>> dp(1<<m,{0,0});
for (int i=1;i<(1<<m);i++) {
for (int j=0;j<m;j++) {
if ((i&(1<<j))) {
pair<int,int> tem=dp[i^(1<<j)];
if ((tem.second+b[j])==a[tem.first+1]) dp[i] = max(dp[i],{tem.first+1,0});
else dp[i] = max(dp[i],{tem.first,tem.second+b[j]});
}
}
}
cout<<(dp[(1<<m)-1].first==n?"YES":"NO");
return 0;
}