Iahub and Iahubina went to a picnic in a forest full of trees. Less than 5 minutes passed before Iahub remembered of trees from programming. Moreover, he invented a new problem and Iahubina has to solve it, otherwise Iahub won't give her the food. 

Iahub asks Iahubina: can you build a rooted tree, such that
 -  each internal node (a node with at least one son) has at least two sons; -  node *i* has *c*<sub class="lower-index">*i*</sub> nodes in its subtree? 
Iahubina has to guess the tree. Being a smart girl, she realized that it's possible no tree can follow Iahub's restrictions. In this way, Iahub will eat all the food. You need to help Iahubina: determine if there's at least one tree following Iahub's restrictions. The required tree must contain *n* nodes.
The first line of the input contains integer *n* (1 ≤ *n* ≤ 24). Next line contains *n* positive integers: the *i*-th number represents *c*<sub class="lower-index">*i*</sub> (1 ≤ *c*<sub class="lower-index">*i*</sub> ≤ *n*).
from sys import stdin, stdout
import collections

def read():
    return stdin.readline().rstrip()

def Ni():
    return [int(x) for x in read().split()]

def solve(at, bitset):

    if cache.get((at, bitset)) is not None:
        return cache[(at, bitset)]

    if at == n:
        cache[(at, bitset)] = True
        return True

    if size[at] == 1:
        return True

    # the current value isn't in the tree and hence won't be - no solution
    if (1 << at) & bitset == 0:
        return False

    ret = False
    for subset, bits in partitions[size[at] - 1]:
        ret = ret | solve(at + 1, subset | bitset)

    cache[(at, bitset)] = ret
    return cache[(at, bitset)]


# for _ in range(10):
n = Ni()[0]
size = Ni()
# truth = read()

size = sorted(size, reverse=True)

cache = {}

partitions = collections.defaultdict(list)
for subset in range(2**n):
    summand = 0
    for k in range(n):
        if (1 << k) & subset:
            summand += size[k]

    bits = bin(subset).count('1')
    if bits > 1:
        partitions[summand].append( (subset, bits) )

solution = solve(1, 1) and size[0] == n
print(["NO", "YES"][solution])
