N = int(input()) A = list(map(int,input().split())) M = int(input()) B = list(map(int,input().split())) A.sort(reverse=True) B.sort(reverse=True) ans = 100 for bit in range(1,2**M): C = [] x = bit for i in range(M): if x & 1: C.append(B[i]) x >>= 1 flg = True for i in range(N): flg2 = True for j in range(len(C)): if A[i] <= C[j]: C[j] -= A[i] flg2 = False break if flg2: flg = False break if flg: ans = min(ans, len(C)) if ans == 100: ans = -1 print(ans)