n = int(raw_input())
A = map(int, raw_input().split())
d = {}

def soleve(i, m, n):
    if m == 0:
        return True
    if i >= n:
        return False
    if d.has_key((i, m)):
        return d[(i, m)]
    res = soleve(i + 1, m, n) or soleve(i + 1, m - A[i], n)
    d[(i, m)] = res
    return res


q = int(raw_input())
M = map(int, raw_input().split())
for m in M:
    if soleve(0, m, n):
        print 'yes'
    else:
        print 'no' n = int(raw_input()) n int(raw_input()) int raw_input() raw_input A = map(int, raw_input().split()) A map(int, raw_input().split()) map int raw_input().split() ().split () raw_input split d = {} d {} def soleve(i, m, n):
    if m == 0:
        return True
    if i >= n:
        return False
    if d.has_key((i, m)):
        return d[(i, m)]
    res = soleve(i + 1, m, n) or soleve(i + 1, m - A[i], n)
    d[(i, m)] = res
    return res soleve if m == 0:
        return True
     m == 0 m 0 return True True if i >= n:
        return False
     i >= n i n return False False if d.has_key((i, m)):
        return d[(i, m)]
     d.has_key((i, m)) d.has_key d has_key (i, m) i m return d[(i, m)] d[(i, m)] d (i, m) i m res = soleve(i + 1, m, n) or soleve(i + 1, m - A[i], n) res soleve(i + 1, m, n) or soleve(i + 1, m - A[i], n) soleve(i + 1, m, n) soleve i + 1 i 1 m n soleve(i + 1, m - A[i], n) soleve i + 1 i 1 m - A[i] m A[i] A i n d[(i, m)] = res d[(i, m)] d (i, m) i m res return res res i i m m n n q = int(raw_input()) q int(raw_input()) int raw_input() raw_input M = map(int, raw_input().split()) M map(int, raw_input().split()) map int raw_input().split() ().split () raw_input split for m in M:
    if soleve(0, m, n):
        print 'yes'
    else:
        print 'no' m M if soleve(0, m, n):
        print 'yes'
    else:
        print 'no' soleve(0, m, n) soleve 0 m n print print d = {} {} d A = map(int, raw_input().split()) map(int, raw_input().split()) A M = map(int, raw_input().split()) map(int, raw_input().split()) M def soleve(i, m, n):
    if m == 0:
        return True
    if i >= n:
        return False
    if d.has_key((i, m)):
        return d[(i, m)]
    res = soleve(i + 1, m, n) or soleve(i + 1, m - A[i], n)
    d[(i, m)] = res
    return res def soleve(i, m, n):
    if m == 0:
        return True
    if i >= n:
        return False
    if d.has_key((i, m)):
        return d[(i, m)]
    res = soleve(i + 1, m, n) or soleve(i + 1, m - A[i], n)
    d[(i, m)] = res
    return res soleve q = int(raw_input()) int(raw_input()) q n = int(raw_input()) int(raw_input()) n
n = int(raw_input())
A = map(int, raw_input().split())
d = {}

def soleve(i, m, n):
    if m == 0:
        return True
    if i >= n:
        return False
    if d.has_key((i, m)):
        return d[(i, m)]
    res = soleve(i + 1, m, n) or soleve(i + 1, m - A[i], n)
    d[(i, m)] = res
    return res


q = int(raw_input())
M = map(int, raw_input().split())
for m in M:
    if soleve(0, m, n):
        print 'yes'
    else:
        print 'no'