#include<bits/stdc++.h>
using namespace std;
int s[200];
int dp[32780];
int main(){
int n,maxv;scanf("%d%d",&maxv,&n);
for(int i=1;i<=n;i++){
scanf("%d",&s[i]);
}
int ans=0;
for(int i=1;i<=n;i++){
for(int j=maxv;j>=s[i];j--){
if(dp[j-s[i]]>=1){
dp[j]=max(dp[j-s[i]]+1,dp[j]);
}
else if(j-s[i]==1){
dp[j]=1;
}
}
}
if(dp[maxv]){
printf("YES");
}
else{
printf("NO");
}
return 0;
}
/**************************************************************
Problem: 1693
User: liangshinan
Language: C++
Result: Accepted
Time:8 ms
Memory:2204 kb
****************************************************************/