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

//author @markysans
import java.util.*;
import java.io.*;
public class a{
	static Scanner sc=new Scanner(System.in);
	static int cnt;
	public static void main(String args[]){
		int k=1;
		//k=sc.nextInt();
		while(k--!=0){
			solve();
		}
	}

	static void solve(){
		int a=sc.nextInt();
		int b=sc.nextInt();
		int c=sc.nextInt();
		int d=sc.nextInt();
		if(a+b == c+d || a+c == b+d || a+d == b+c)
			System.out.println("YES");
		else
			System.out.println("NO");
		

	}
	static int[] initarray(int n){
		int A[]=new int[n];
		for(int i=0;i<n;i++)
			A[i]=sc.nextInt();
		return A;
	}
	// static ArrayList<Integer> initlist(int n){
	// 	ArrayList<Integer> A=new ArrayList<Integer>();
	// 	for(int i=0;i<n;i++)
	// 		A.add(sc.nextInt());
	// 	return A;
	// }
	// static long[] initarray2(int n){
	// 	long A[]=new long[n];
	// 	for(int i=0;i<n;i++)
	// 		A[i]=sc.nextLong();
	// 	return A;
	// }
	// static ArrayList<Long> initlist2(long n){
	// 	ArrayList<Long> A=new ArrayList<Long>();
	// 	for(long i=0;i<n;i++)
	// 		A.add(sc.nextLong());
	// 	return A;
	// }

}
//System.out.println();
// A.add(5);
// A.remove(5);
// A.get(5);
// A.set(1,5);
// A.indexOf(5);
// A.lastIndexOf(5);
// A.subList(2,4);
