44 58 90 53
 20 14 37 71
 4 2 4 2
 1 2 5 5
 1 2 8 9
 99 100 3 98
 92 69 83 97
 3 1 1 1
 18 88 18 18
 1 1 1 1
 69 7 44 30
 90 30 30 30
 1 2 3 5
 1 1 3 1
 6 3 6 6
 26 52 7 19
 6 4 8 6
 10 2 3 5
 34 11 84 39
 1 1 14 12
 3 2 1 1
 2 4 6 6
 1 1 2 1
 72 96 2 26
 97 95 91 27
 1 2 1 3
 1 1 2 3
 1 1 1 2
 1 1 10 20
 2 3 2 5
 1 2 10 7
 2 1 28 9
 4 4 4 8
 2 2 4 6
 72 52 62 62
 76 97 99 74
 100 100 99 100
 30 74 41 63
 5 10 1 6
 18 17 17 20
 2 4 1 1
 7 3 6 3
 1 1 4 5
 2 2 6 2
 1 2 6 3
 3 5 1 3
 70 100 10 86
 48 14 3 31
 2 6 3 2
 2 3 10 10
 4 4 12 4
 14 9 10 6
 100 98 99 97
 5 7 1 3
 1 1 4 2
 14 10 18 24
 1 100 100 1
 1 2 4 5
 1 2 3 4
 1 2 3 3
 4 4 4 5
 66 68 16 82
 1 2 3 2
 2 3 3 4
 100 100 100 100
 1 2 2 7
 3 14 36 53
 1 1 3 4

NO
 YES
 YES
 NO
 YES
 NO
 NO
 YES
 NO
 YES
 NO
 YES
 NO
 YES
 NO
 YES
 YES
 YES
 YES
 YES
 NO
 NO
 NO
 YES
 NO
 NO
 NO
 NO
 NO
 NO
 YES
 NO
 NO
 NO
 YES
 YES
 NO
 YES
 YES
 NO
 YES
 NO
 NO
 YES
 YES
 YES
 NO
 YES
 NO
 NO
 YES
 NO
 YES
 YES
 YES
 NO
 YES
 YES
 YES
 NO
 NO
 NO
 YES
 YES
 YES
 NO
 YES
 NO

import decimal,math
from collections import *
from fractions import gcd
from bisect import bisect_right,bisect_left
import sys

def primeFactors(n): 
	arr=[]
	while n % 2 == 0: 
		arr.append(2) 
		n = n / 2
	for i in xrange(3,int(math.sqrt(n))+1,2): 
		while n % i== 0: 
			arr.append(i) 
			n = n / i 
	if n > 2: 
		arr.append(n)
		# print n
	return arr	 

def SieveOfEratosthenes(n): 
	prime = [True for i in xrange(n+1)] 
	p = 2
	while (p * p <= n): 
		if (prime[p] == True): 
			
			for i in xrange(p * p, n+1, p): 
				prime[i] = False
		p += 1
	arr=[]
	for p in xrange(2, n): 
		if prime[p]: 
			arr.append(p)
	return arr

def invmod(i,mod):
	return pow(i,mod-2,mod)	
def fact(mod):
	fac= [1,1]
	ifac = [1,1]
	for i in xrange(2,(2500)):
		fac.append((fac[-1]*i)%mod)
		ifac.append((ifac[-1]*invmod(i,mod))%mod)
	return fac,ifac	
def divisors(n) : 
	list = []  
	for i in range(1, int(math.sqrt(n) + 1)) : 
		  
		if (n % i == 0) : 
			if (n / i == i) :
				list.append(i) 
			else : 
				list.append(i)
				list.append(int(n / i)) 
	list.sort()
	return list
				
def fi():
	return int(sys.stdin.readline())
 
def fi2():
	return map(int, sys.stdin.readline().split())
 
def fi3():
	return sys.stdin.readline().strip()
 
def fo(*args):
	for s in args:
		sys.stdout.write(str(s)+" ")
	sys.stdout.write("\n")
		
decimal.getcontext().prec = 15

a=fi2()
p=sum(a)
if(p%2==1):
	print "NO"
	exit()
if(a[0]==sum(a[1:])):
	print "YES"
elif(a[1]==a[0]+a[2]+a[3]):
	print "YES"
elif(a[2]==a[0]+a[1]+a[3]):
	print "YES"		
elif(a[3]==a[0]+a[1]+a[2]):
	print "YES"
elif(a[0]+a[1]==a[2]+a[3]):
	print "YES"
elif(a[0]+a[2]==a[1]+a[3]):
	print "YES"
elif(a[0]+a[3]==a[1]+a[2]):
	print "YES"
else:
	print "NO"