// only take certain number of stones #include <CString> #include <the iostream> #include <algorithm> #include <unordered_set> the using namespace STD; const int N = 110 , M = 10010 ; int n-, m ; int S [N], F [M]; int SG ( int X) { IF - (F [X] =! . 1 ) return F [X]; unordered_set < int > S; for ( int I = 0 ; I <m; i ++ ) { int sum = s[i]; if (x >= sum) S.insert(sg(x - sum)); } for (int i = 0; ; i ++ ) if (!S.count(i)) return f[x] = i; } int main() { cin >> m; for (int i = 0; i < m; i ++ ) cin >> s[i]; cin >> n; memset(f, -1, sizeof f); int res = 0; for (int i = 0; i < n; i ++ ) { int x; cin >> x; res ^= sg(x); } if (res) puts("Yes"); else puts("No"); return 0; }