#include <stdio.h>          // printf(), scanf()
#include <string.h>         // memset()
#include <stdbool.h>

// #define PROFILE 1
#define MAX_N 20
#define MAX_V 2000

static const int INF = 100000000;
int a[MAX_N];
int dp[MAX_N + 1][MAX_V + 1];
int n;
int m;
int O;

int
solve(int i, int m)
{
	if (m < 0)
		return 0;

	if (dp[i][m] != INF)
		return dp[i][m];

	O++;
	if (m == 0)
		dp[i][m] = 1;

	else if (i >= n)
		dp[i][m] = 0;

	else if (solve(i + 1, m))
		dp[i][m] = 1;

	else if (solve(i + 1, m - a[i]))
		dp[i][m] = 1;

	else
		dp[i][m] = 0;

	return dp[i][m];
}

int
main(int argc, char** argv)
{
	int q;
	int i, j, k;

	O = 0;
	scanf("%d", &n);
	for (i = 0; i < n; ++i)
		scanf("%d", &a[i]);

	scanf("%d", &q);
	for (i = 0; i < q; ++i)
	{
		for (j = 0; j <= n; ++j)
		{
			for (k = 0; k <= MAX_V; ++k)
				dp[j][k] = INF;
		}

		scanf("%d", &m);
		printf("%s\n", solve(0, m) == 1 ? "yes" : "no");
	}

#ifdef PROFILE
	fprintf(stderr, "O:%d\n", O);
#endif
	return 0;
}