#include <bits/stdc++.h>
using namespace std;
long long a[3000005], has[3000005], visited[2000005], dist[1000005];
long long pr[3000010];
long long addmod(long long n, long long m) {
  return ((n % 1000000007) + (m % 1000000007)) % 1000000007;
}
long long multmod(long long n, long long m) {
  return ((n % 1000000007) * (m % 1000000007)) % 1000000007;
}
long long submod(long long n, long long m) {
  return ((n % 1000000007) - (m % 1000000007) + 1000000007) % 1000000007;
}
void prime() {
  pr[0] = 1;
  pr[1] = 1;
  for (long long i = 2; i <= sqrt(3000010); i++) {
    for (long long j = 2 * i; j <= 3000010; j += i) {
      pr[j] = 1;
    }
  }
}
long long cntDiv(long long n) {
  long long cnt = 0;
  for (long long i = 1; i <= sqrt(n); i++) {
    if (n % i == 0) {
      if (n / i == i)
        cnt++;
      else
        cnt += 2;
    }
  }
  return cnt;
}
long long gcd(long long a, long long b) {
  if (a == 0) return b;
  return gcd(b % a, a);
}
long long has1[3000011], b[1000005], temp1[1000005];
vector<long long> mat[10001];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long x, y, z, w;
  cin >> x >> y >> z >> w;
  if (x + y == z + w || x + z == y + w || x + w == y + z || x == y + z + w ||
      y == x + z + w || z == x + y + w || w == x + y + z)
    cout << "YES";
  else
    cout << "NO";
  return 0;
}
