Dawid has four bags of candies. The $i$-th of them contains $a_i$ candies. Also, Dawid has two friends. He wants to give each bag to one of his two friends. Is it possible to distribute the bags in such a way that each friend receives the same amount of candies in total?

Note, that you can't keep bags for yourself or throw them away, each bag should be given to one of the friends.


-----Input-----

The only line contains four integers $a_1$, $a_2$, $a_3$ and $a_4$ ($1 \leq a_i \leq 100$) — the numbers of candies in each bag.


-----Output-----

Output YES if it's possible to give the bags to Dawid's friends so that both friends receive the same amount of candies, or NO otherwise. Each character can be printed in any case (either uppercase or lowercase).


-----Examples-----
Input
1 7 11 5

Output
YES

Input
7 3 2 5

Output
NO



-----Note-----

In the first sample test, Dawid can give the first and the third bag to the first friend, and the second and the fourth bag to the second friend. This way, each friend will receive $12$ candies.

In the second sample test, it's impossible to distribute the bags.

Difficulty: interview

Starter code:

Solutions:
l=list(map(int,input().split()))
for i in range(16):
    cur1,cur2=0,0
    for j in range(4):
        if (i&(1<<j))==0:
            cur1+=l[j]
        else:
            cur2+=l[j]
    if cur1==cur2:
        print("YES")
        quit()
print("NO")

arr=list(map(int,input().split()))
arr.sort()
if(arr[0]+arr[1]+arr[2]==arr[3]):
	print("YES")
elif(arr[0]+arr[3]==arr[1]+arr[2]):
	print("YES")
else:
	print("NO")


import sys
from collections import defaultdict
from itertools import combinations
from itertools import permutations
input = lambda : sys.stdin.readline().rstrip()
def write(*args, sep=" "):
  for i in args:
    sys.stdout.write("{}".format(i) + sep)
INF = float('inf')
MOD = int(1e9 + 7)

arr = list(map(int, input().split()))
s = sum(arr)
for i in range(1, 5):
  for j in combinations(arr, i):
    #print(j)
    if sum(j) == s - sum(j):
      print("YES")
      return

print("NO")


a, b, c, d = list(map(int, input().split()))
if a+b == c+d or a+c == b+d or a+d == b+c:
    print('YES')
elif a == b+c+d or b == a+c+d or c == a+b+d or d == a+b+c:
    print('YES')
else:
    print('NO')


a,b,c,d = map(int, input().split())

tot = a+b+c+d

if tot % 2 == 1:
    print("NO")
    return

tot //= 2

if tot == a+b or tot == a+c or tot == a+d or tot == a or tot == b or tot == c or tot == d:
    print("YES")
else:
    print("NO")

a, b, c, d = list(map(int, input().split()))
arr = [a, b, c, d]
for i in range(2):
    for j in range(2):
        for z in range(2):
            for k in range(2):
                cnt = 0
                for l in range(4):
                    q = [i, j, z, k][l]
                    if q:
                        cnt += arr[l]
                    else:
                        cnt -= arr[l]
                if cnt == 0:
                    print('YES')
                    return
print('NO')


# -*- coding: utf-8 -*-
import sys
from operator import itemgetter
from fractions import gcd
from math import ceil, floor, sqrt
from copy import deepcopy
from collections import Counter, deque
import heapq
from functools import reduce
sys.setrecursionlimit(200000)
input = sys.stdin.readline
def ii(): return int(input())
def mi(): return map(int, input().rstrip().split())
def lmi(): return list(map(int, input().rstrip().split()))
def fi(): return float(input())
def mfi(): return map(float, input().rstrip().split())
def lmfi(): return list(map(float, input().rstrip().split()))
def li(): return list(input().rstrip())
def debug(*args, sep=" ", end="\n"): print("debug:", *args, file=sys.stderr, sep=sep, end=end) if not __debug__ else None
def exit(*arg): print(*arg); return
# template


def main():
    a = lmi()
    a.sort()
    if a[0] + a[3] == a[1] + a[2] or a[3] == a[0] + a[1] + a[2]:
        print('YES')
    else:
        print('NO')


def __starting_point():
    if not __debug__:
        import doctest
        doctest.testmod()
    main()

__starting_point()

*l, = sorted(list(map(int, input().split())))
if l[0] + l[-1] == l[1] + l[2] or sum(l[:3]) == l[3]:
	print("YES")
else:
	print("NO")

a = list(map(int, input().split()))
a.sort()
if a[0] + a[3] == a[1] + a[2] or sum(a[:3]) == a[3]:
	print('YES')
else:
	print('NO')


a, b, c, d = sorted(list(map(int, input().split())))
if a + d == b + c or a + b + c == d:
    print("YES")
else:
    print("NO")


a = list( map( int, input().split() ) )
a.sort()
if a[ 0 ] + a[ 2 ] == a[ 1 ] + a[ 3 ] or a[ 0 ] + a[ 3 ] == a[ 1 ] + a[ 2 ] or a[ 0 ] + a[ 1 ] + a[ 2 ] == a[ 3 ]:
    print( "YES" )
else:
    print( "NO" )


l = [int(x) for x in input().split()]
l.sort()

if l[0] + l[3] == l[1] + l[2] or l[0] + l[1] + l[2] == l[3] or l[0] + l[1] == l[2] + l[3] or l[0] == l[1] + l[2] + l[3] or l[0] + l[2] == l[1] + l[3]:
    print("YES")
else:
    print("NO")

__author__ = 'Esfandiar'
'''
import sys
input=sys.stdin.readline
n = int(input())
map(int,input().split())
list(map(int,input().split()))
'''
a=sorted(list(map(int,input().split())))
if a[0]+a[-1] == a[1]+a[-2] or a[0]+a[1]+a[2]==a[3]:
    print("YES")
else:
    print('NO')

a,b,c,d=list(map(int,input().split()))
k=max(a,b,c,d)
z=min(a,b,c,d)
if k+z==a+b+c+d-k-z:
    print('YES')
elif k==a+b+c+d-k:
    print('YES')
else:
    print('NO')


#JMD
#Nagendra Jha-4096

 
import sys
import math

#import fractions
#import numpy
 
###File Operations###
fileoperation=0
if(fileoperation):
    orig_stdout = sys.stdout
    orig_stdin = sys.stdin
    inputfile = open('W:/Competitive Programming/input.txt', 'r')
    outputfile = open('W:/Competitive Programming/output.txt', 'w')
    sys.stdin = inputfile
    sys.stdout = outputfile

###Defines...###
mod=1000000007
 
###FUF's...###
def nospace(l):
    ans=''.join(str(i) for i in l)
    return ans
 
 
 
##### Main ####
t=1
for tt in range(t):
    #n=int(input())
    a,b,c,d= map(int, sys.stdin.readline().split(' '))

    s=(a+b+c+d)

    if (s%2)==0 :
        v=s//2

        if a==v or b==v or c==v or d==v:
            print("YES")
        elif (a+b)==v or (a+c) == v or (a+d) == v:
            print("YES")
        else:
            print("NO")
    else:
        print("NO")


    #a=list(map(int,sys.stdin.readline().split(' ')))
    
    
#####File Operations#####
if(fileoperation):
    sys.stdout = orig_stdout
    sys.stdin = orig_stdin
    inputfile.close()
    outputfile.close()

L = list(map(int, input().split()))
L.sort()
if (L[0] + L[-1] == L[1] + L[2] or L[0] + L[1] + L[2] == L[3]):
	print("YES")
else:
	print("NO")

arr=[int(x) for x in input().split()]
arr.sort()
if(arr[3]==(arr[0]+arr[1]+arr[2]) or arr[3]+arr[0]==arr[1]+arr[2] or arr[3]+arr[1]==arr[0]+arr[2]):
    print("YES")
else:
    print("NO")




a,b,c,d = map(lambda x:int(x),input().split())

step1 = [0]
step2 = []
step3 = []
step4 = []
step5 = []

for x in step1:
    step2.append(x+a)
    step2.append(x-a)
for x in step2:
    step3.append(x+b)
    step3.append(x-b)
for x in step3:
    step4.append(x+c)
    step4.append(x-c)
for x in step4:
    step5.append(x+d)
    step5.append(x-d)
print("YES" if 0 in step5 else "NO")

a=[int(x) for x in input().split()]
a.sort()
if sum(a)%2==0:
    counter=sum(a)//2
    if a[0]+a[1]==counter or a[1]+a[2]==counter or a[0]+a[2]==counter or a[0]==counter or a[1]==counter or a[2]==counter or a[3]==counter:
        print('YES')
    else:
        print('NO')
else:
    print('NO')




a=list(map(int,input().split()))
a=sorted(a)

s=sum(a)

for i in range(1<<4):
	s1=0

	for j in range(4):
		if(i&(1<<j)):
			s1+=a[j]

	if(s1==(s-s1)):
		print('YES')
		return

print('NO')

a,b,c,d=list(map(int,input().split()))
if((a== b+c+d)or(b== a+c+d)or(c== a+b+d)or(d== a+b+c)or(a+b== c+d)or(a+c == b+d)or(a+d == b+c)):
      print("YES")
else:
      print("NO")


a1, a2, a3, a4 = map(int, input().split())

res = False

for i1 in range(2):
    for i2 in range(2):
        for i3 in range(2):
            for i4 in range(2):
                if (i1*a1 + i2*a2 + i3*a3 + i4*a4)*2 == a1 + a2 + a3 + a4:
                    res = True

if res:
    print('YES')
else:
    print('NO')

'''input
10 3 3 4
'''

import sys
import heapq
import math
from collections import defaultdict as dd

l = [int(i) for i in input().split()]
l.sort()
if ((l[0] + l[-1] == l[1] + l[2]) or(l[0] + l[1] + l[2] == l[3])):
    print("YES")
else:
    print("NO")