output_description: If it is possible to distribute the packs so that each student gets the same
  number of candies, print `Yes`. Otherwise, print `No`.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      a b c
attempt: #!/usr/bin/env python3
  
  import sys
  
  # import time
  # import math
  # import numpy as np
  # import scipy.sparse.csgraph as cs            # csgraph_from_dense(ndarray, null_value=inf), bellman_ford(G, return_predecessors=True), dijkstra, floyd_warshall
  # import random                                # random, uniform, randint, randrange, shuffle, sample
  # import string                                # ascii_lowercase, ascii_uppercase, ascii_letters, digits, hexdigits
  # import re                                    # re.compile(pattern) => ptn obj; p.search(s), p.match(s), p.finditer(s) => match obj; p.sub(after, s)
  # from bisect import bisect_left, bisect_right # bisect_left(a, x, lo=0, hi=len(a)) returns i such that all(val<x for val in a[lo:i]) and all(val>-=x for val in a[i:hi]).
  # from collections import deque                # deque class. deque(L): dq.append(x), dq.appendleft(x), dq.pop(), dq.popleft(), dq.rotate()
  # from collections import defaultdict          # subclass of dict. defaultdict(facroty)
  # from collections import Counter              # subclass of dict. Counter(iter): c.elements(), c.most_common(n), c.subtract(iter)
  # from datetime import date, datetime          # date.today(), date(year,month,day) => date obj; datetime.now(), datetime(year,month,day,hour,second,microsecond) => datetime obj; subtraction => timedelta obj
  # from datetime.datetime import strptime       # strptime('2019/01/01 10:05:20', '%Y/%m/%d/ %H:%M:%S') returns datetime obj
  # from datetime import timedelta               # td.days, td.seconds, td.microseconds, td.total_seconds(). abs function is also available.
  # from copy import copy, deepcopy              # use deepcopy to copy multi-dimentional matrix without reference
  # from functools import reduce                 # reduce(f, iter[, init])
  # from functools import lru_cache              # @lrucache ...arguments of functions should be able to be keys of dict (e.g. list is not allowed)
  # from heapq import heapify, heappush, heappop # built-in list. heapify(L) changes list in-place to min-heap in O(n), heappush(heapL, x) and heappop(heapL) in O(lgn).
  # from heapq import nlargest, nsmallest        # nlargest(n, iter[, key]) returns k-largest-list in O(n+klgn).
  # from itertools import count, cycle, repeat   # count(start[,step]), cycle(iter), repeat(elm[,n])
  # from itertools import groupby                # [(k, list(g)) for k, g in groupby('000112')] returns [('0',['0','0','0']), ('1',['1','1']), ('2',['2'])]
  # from itertools import starmap                # starmap(pow, [[2,5], [3,2]]) returns [32, 9]
  # from itertools import product, permutations  # product(iter, repeat=n), permutations(iter[,r])
  # from itertools import combinations, combinations_with_replacement
  # from itertools import accumulate             # accumulate(iter[, f])
  # from operator import itemgetter              # itemgetter(1), itemgetter('key')
  # from fractions import gcd                    # for Python 3.4 (previous contest @AtCoder)
  
  
  def main():
      mod = 1000000007  # 10^9+7
      inf = float("inf")  # sys.float_info.max = 1.79...e+308
      # inf = 2 ** 64 - 1             # (for fast JIT compile in PyPy) 1.84...e+19
      sys.setrecursionlimit(10**6)  # 1000 -> 1000000
  
      def input():
          return sys.stdin.readline().rstrip()
  
      def ii():
          return int(input())
  
      def mi():
          return map(int, input().split())
  
      def mi_0():
          return map(lambda x: int(x) - 1, input().split())
  
      def lmi():
          return list(map(int, input().split()))
  
      def lmi_0():
          return list(map(lambda x: int(x) - 1, input().split()))
  
      def li():
          return list(input())
  
      L = lmi()
      L.sort()
      print("Yes") if L[0] + L[1] == L[2] else print("No")
  
  
  if __name__ == "__main__":
      main()
  
problem_description: Statement
  
  Two students of AtCoder Kindergarten are fighting over candy packs.
  
  There are three candy packs, each of which contains a, b, and c candies,
  respectively.
  
  Teacher Evi is trying to distribute the packs between the two students so that
  each student gets the same number of candies. Determine whether it is
  possible.
  
  Note that Evi cannot take candies out of the packs, and the whole contents of
  each pack must be given to one of the students.
samples: [{"input": "10 30 20", "output": "Yes\n    \n\nGive the pack with 30 candies to one student, and give the two packs with 10\nand 20 candies to the other. Then, each gets 30 candies.\n\n* * *"}, {"input": "30 30 100", "output": "No\n    \n\nIn this case, the student who gets the pack with 100 candies always has more\ncandies than the other.\n\nNote that every pack must be given to one of them.\n\n* * *"}, {"input": "56 25 31", "output": "Yes"}]