import itertools memo = {} def get_results(nums): key = tuple(nums) if key in memo: return memo[key] if len(nums) == 1: res = {round(nums[0], 6)} memo[key] = res return res results = set() for i in range(len(nums)): for j in range(len(nums)): if i != j: a = nums[i] b = nums[j] # 加法 new_num = a + b new_nums = [nums[k] for k in range(len(nums)) if k != i and k != j] new_nums.append(new_num) sub_results = get_results(new_nums) for res in sub_results: results.add(res) # 减法 new_num = a - b new_nums = [nums[k] for k in range(len(nums)) if k != i and k != j] new_nums.append(new_num) sub_results = get_results(new_nums) for res in sub_results: results.add(res) # 乘法 new_num = a * b new_nums = [nums[k] for k in range(len(nums)) if k != i and k != j] new_nums.append(new_num) sub_results = get_results(new_nums) for res in sub_results: results.add(res) # 除法 if b != 0: new_num = a / b new_nums = [nums[k] for k in range(len(nums)) if k != i and k != j] new_nums.append(new_num) sub_results = get_results(new_nums) for res in sub_results: results.add(res) memo[key] = results return results def main(): import sys n = int(sys.stdin.readline()) nums = list(map(int, sys.stdin.readline().split())) found = False for perm in itertools.permutations(nums): for i in range(1, len(perm)): left = list(perm[:i]) right = list(perm[i:]) left_results = get_results(left) right_results = get_results(right) for l in left_results: for r in right_results: if abs(l - r) < 1e-6: found = True break if found: break if found: break if found: break if found: print("YES") else: print("NO") if __name__ == "__main__": main()