#include<bits/stdc++.h> using namespace std; int s[200]; int dp[55][32768]; int main(){ int n,maxv;scanf("%d%d",&maxv,&n); for(int i=1;i<=n;i++){ scanf("%d",&s[i]); dp[i][0]=1; } int ans=0; for(int i=1;i<=n;i++){ for(int j=1;j<=maxv;j++){ dp[i][j]=dp[i-1][j]; if(j>=s[i]) dp[i][j]=dp[i-1][j]|dp[i-1][j-s[i]]; } ans=dp[i][maxv]; if(ans){ printf("YES"); return 0; } } printf("NO"); return 0; } /************************************************************** Problem: 1693 User: liangshinan Language: C++ Result: Wrong Answer ****************************************************************/