#include int t, n, w[150], q, m; bool can[10000], tmp[10000], *lstarr, *newarr, *tmpptr; int main() { scanf("%d", &t); while (t--) { scanf("%d", &n); for (int i = 0; i < n; ++i) { scanf("%d", w+i); } for (int j = 0; j < 10000; ++j) tmp[j] = can[j] = false; can[4000] = tmp[4000] = true; lstarr = can; newarr = tmp; for (int i = 0; i < n; ++i) { for (int j = 500; j < 9500; ++j) { if (!lstarr[j]) continue; newarr[j-w[i]] = true; newarr[j+w[i]] = true; } for (int j = 0; j < 10000; ++j) newarr[j] |= lstarr[j]; tmpptr = lstarr; lstarr = newarr; newarr = tmpptr; } scanf("%d", &m); while (m--) { scanf("%d", &q); if (lstarr[4000+q] || lstarr[4000-q]) printf("YES\n"); else printf("NO\n"); } } }