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

#include <bits/stdc++.h>
using namespace std;
long long int __xor(long long int a, long long int b) { return a ^ b; }
long long int __and(long long int a, long long int b) { return a & b; }
long long int __or(long long int a, long long int b) { return a | b; }
long long int ai[10000000], pi[10000000];
int main() {
  long long int b, c, x, y, z, t, i, j, k, l1, l2, m, n, c1 = 0, a[4];
  scanf("%lld", &a[0]);
  scanf("%lld", &a[1]);
  scanf("%lld", &a[2]);
  scanf("%lld", &a[3]);
  if (a[0] + a[1] == a[2] + a[3] || a[0] + a[2] == a[1] + a[3] ||
      a[0] + a[3] == a[1] + a[2] || a[0] + a[1] + a[2] == a[3] ||
      a[1] + a[2] + a[3] == a[0] || a[1] == a[0] + a[2] + a[3] ||
      a[2] == a[0] + a[1] + a[3])
    cout << "YES";
  else
    cout << "NO";
  return 0;
}
