import time

def sum_A(A, n):
    dic = {}
    #A_ = A
    #n_ = n
    
    def solve(i, m):
        if (i, m) in dic:
            return dic[(i, m)]
        if m == 0:
            dic[(i, m)] = True
        elif i >= n:
            dic[(i, m)] = False
        elif solve(i+1, m):
            dic[(i, m)] = True
        elif solve(i+1, m-A[i]):
            dic[(i, m)] = True
        else:
            dic[(i, m)] = False
        return dic[(i, m)]
    
    return solve

if __name__ == '__main__':
    n = int(raw_input())
    A = map(int, raw_input().split())
    q = int(raw_input())
    m = map(int, raw_input().split())

    #A = sorted(A)
    start = time.time()
    solve = sum_A(A, n)
    for m_i in m:
        print "yes" if solve(0, m_i) else "no"
    end = time.time()
    #print end - start import time time def sum_A(A, n):
    dic = {}
    #A_ = A
    #n_ = n
    
    def solve(i, m):
        if (i, m) in dic:
            return dic[(i, m)]
        if m == 0:
            dic[(i, m)] = True
        elif i >= n:
            dic[(i, m)] = False
        elif solve(i+1, m):
            dic[(i, m)] = True
        elif solve(i+1, m-A[i]):
            dic[(i, m)] = True
        else:
            dic[(i, m)] = False
        return dic[(i, m)]
    
    return solve sum_A dic = {} dic {} def solve(i, m):
        if (i, m) in dic:
            return dic[(i, m)]
        if m == 0:
            dic[(i, m)] = True
        elif i >= n:
            dic[(i, m)] = False
        elif solve(i+1, m):
            dic[(i, m)] = True
        elif solve(i+1, m-A[i]):
            dic[(i, m)] = True
        else:
            dic[(i, m)] = False
        return dic[(i, m)]
    
     solve if (i, m) in dic:
            return dic[(i, m)]
         (i, m) in dic (i, m) i m dic return dic[(i, m)] dic[(i, m)] dic (i, m) i m if m == 0:
            dic[(i, m)] = True
        elif i >= n:
            dic[(i, m)] = False
        elif solve(i+1, m):
            dic[(i, m)] = True
        elif solve(i+1, m-A[i]):
            dic[(i, m)] = True
        else:
            dic[(i, m)] = False
         m == 0 m 0 dic[(i, m)] = True dic[(i, m)] dic (i, m) i m True elif i >= n:
            dic[(i, m)] = False
         i >= n i n dic[(i, m)] = False dic[(i, m)] dic (i, m) i m False elif solve(i+1, m):
            dic[(i, m)] = True
         solve(i+1, m) solve i+1 i 1 m dic[(i, m)] = True dic[(i, m)] dic (i, m) i m True elif solve(i+1, m-A[i]):
            dic[(i, m)] = True
         solve(i+1, m-A[i]) solve i+1 i 1 m-A[i] m A[i] A i dic[(i, m)] = True dic[(i, m)] dic (i, m) i m True dic[(i, m)] = False dic[(i, m)] dic (i, m) i m False return dic[(i, m)] dic[(i, m)] dic (i, m) i m i i m m return solve solve A A n n if __name__ == '__main__':
    n = int(raw_input())
    A = map(int, raw_input().split())
    q = int(raw_input())
    m = map(int, raw_input().split())

    #A = sorted(A)
    start = time.time()
    solve = sum_A(A, n)
    for m_i in m:
        print "yes" if solve(0, m_i) else "no"
    end = time.time()
    #print end - start __name__ == '__main__' __name__ '__main__' 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 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 start = time.time() start time.time() time.time time time solve = sum_A(A, n) solve sum_A(A, n) sum_A A n for m_i in m:
        print "yes" if solve(0, m_i) else "no"
     m_i m print "yes" if solve(0, m_i) else "no" solve(0, m_i) solve 0 m_i "yes" "no" end = time.time() end time.time() time.time time time end = time.time() time.time() end A = map(int, raw_input().split()) map(int, raw_input().split()) A q = int(raw_input()) int(raw_input()) q def sum_A(A, n):
    dic = {}
    #A_ = A
    #n_ = n
    
    def solve(i, m):
        if (i, m) in dic:
            return dic[(i, m)]
        if m == 0:
            dic[(i, m)] = True
        elif i >= n:
            dic[(i, m)] = False
        elif solve(i+1, m):
            dic[(i, m)] = True
        elif solve(i+1, m-A[i]):
            dic[(i, m)] = True
        else:
            dic[(i, m)] = False
        return dic[(i, m)]
    
    return solve def sum_A(A, n):
    dic = {}
    #A_ = A
    #n_ = n
    
    def solve(i, m):
        if (i, m) in dic:
            return dic[(i, m)]
        if m == 0:
            dic[(i, m)] = True
        elif i >= n:
            dic[(i, m)] = False
        elif solve(i+1, m):
            dic[(i, m)] = True
        elif solve(i+1, m-A[i]):
            dic[(i, m)] = True
        else:
            dic[(i, m)] = False
        return dic[(i, m)]
    
    return solve sum_A start = time.time() time.time() start solve = sum_A(A, n) sum_A(A, n) solve n = int(raw_input()) int(raw_input()) n m = map(int, raw_input().split()) map(int, raw_input().split()) m
import time

def sum_A(A, n):
    dic = {}
    #A_ = A
    #n_ = n
    
    def solve(i, m):
        if (i, m) in dic:
            return dic[(i, m)]
        if m == 0:
            dic[(i, m)] = True
        elif i >= n:
            dic[(i, m)] = False
        elif solve(i+1, m):
            dic[(i, m)] = True
        elif solve(i+1, m-A[i]):
            dic[(i, m)] = True
        else:
            dic[(i, m)] = False
        return dic[(i, m)]
    
    return solve

if __name__ == '__main__':
    n = int(raw_input())
    A = map(int, raw_input().split())
    q = int(raw_input())
    m = map(int, raw_input().split())

    #A = sorted(A)
    start = time.time()
    solve = sum_A(A, n)
    for m_i in m:
        print "yes" if solve(0, m_i) else "no"
    end = time.time()
    #print end - start