#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
****************************************************************/