#include <stdio.h>

#define MaxNumbersequencelength 2000 //マクロの時は；要らない
#define Yes 1
#define No 0

unsigned int dwNumbersequencelength, dwNumberofelemnt; //DWORD型と分かるようにハンガリアン表記
unsigned int dwNumbersequence[MaxNumbersequencelength], dwSumnumber[MaxNumbersequencelength];

unsigned int exhausivesearch(unsigned int dwstart, unsigned int dwsumnumber);

unsigned int exhausivesearch(unsigned int dwstart, unsigned int dwsumnumber) {

	unsigned int dwresultofexhaustivesearch;

	if (dwsumnumber == 0) return Yes;
	if (dwstart >= dwNumbersequencelength) return No;

	dwresultofexhaustivesearch = exhausivesearch(dwstart + 1, dwsumnumber) || exhausivesearch(dwstart + 1, dwsumnumber - dwNumbersequence[dwstart]);

	return dwresultofexhaustivesearch;
}



int main(void) {





	//数列情報取得
	scanf("%d", &dwNumbersequencelength);
	for (int i = 0; i<dwNumbersequencelength; i++) {
		scanf("%d", &dwNumbersequence[i]);
	}

	//合成で作りたい数字取得
	scanf("%d", &dwNumberofelemnt);
	for ( int i = 0; i<dwNumberofelemnt; i++) {
		scanf("%d", &dwSumnumber[i]);
		if (exhausivesearch(0, dwSumnumber[i])) {
			printf("yes\n");
		}
		else printf("no\n");
	}





	return 0;
}


