#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { unsigned x,y,n; while(cin>>x>>y>>n){ vector<bool> possible(max(x,y)+1,false); vector<unsigned> tiles(n); for(unsigned i=0; i<n; ++i) cin>>tiles[i]; possible[0]=1; for(unsigned i=0; i<possible.size()-1; ++i) if(possible[i]) for(unsigned j=0; j<tiles.size(); ++j) if(i+j<possible.size()) possible[i+j]=true; if( (possible[x] && possible[x-2] && possible[y-1]) || (possible[x] && possible[y-2]) || (possible[x-2] && possible[y]) || (possible[x-1] && possible[y-1]) || (possible[y] && possible[y-2] && possible[x-1]) ) cout<<"YES\n"; else cout<<"NO\n"; } }