#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: wuweimo
	Language: C++
	Result: Accepted
	Time:9 ms
	Memory:2204 kb
****************************************************************/