from itertools import combinations def kurasuwake(N, E): Eall = sum(E) if Eall % 3 > 0: return 'No' else: Ecl = Eall // 3 Emax = max(E) if Emax > Ecl: return 'No' else: A = P(E, Ecl) if A == 'No': return 'No' else: B = P(A, Ecl) if B == 'No': return 'No' else: PC = sum(B) if PC == Ecl: return 'Yes' else: return 'No' def P(E, Ecl): N = len(E) li = sorted(E) P = 0 + li[-1] li.pop(-1) if P == Ecl: return li comij = [] for i in range(1, N - 1): comi = list(combinations(li, i)) if P == Ecl: break for j in range(len(comi)): sumij = sum(comi[j]) if P + sumij == Ecl: comij = comi[j] P = P + sumij break if P != Ecl: return 'No' for k in range(len(comij)): for l in range(len(li)): if li[l] == comij[k]: li.pop(l) break return li def main(): N = int(input()) E = list(map(int, input().split())) print(kurasuwake(N, E)) if __name__ == '__main__': main()