#include #include using namespace std; //#define DISABLE_PRINT #if defined(ENABLE_PRINT) && !defined(DISABLE_PRINT) #define P(...) fprintf(stderr, __VA_ARGS__) #define LP fprintf(stderr, "L: %d\n", __LINE__) #else #define P(...) ((void)0) #define LP ((void)0) #endif #define rep(i, n) for (int i = 0; i < (int)(n); ++i) #define ALL(x) x.begin(), x.end() using ll = long long; using ull = unsigned long long; const int INF = 1100100100; const ll INFLL = 1100100100100100100; int main() { int N, M, L; cin >> N >> M >> L; using BS = bitset<1001>; BS dp; dp.set(L); rep(i, N) { int A; cin >> A; auto tdp = dp; rep(j, 1001) { if (!dp.test(j)) continue; auto to = (j + A) / 2; if (!(to >= 0 && to <= 1000)) continue; tdp.set(to); } dp = tdp; } cout << (dp.test(M) ? "Yes" : "No") << endl; return 0; }