#include <bits/stdc++.h>

using namespace std;

int main()
{
    static int a[5];
    scanf("%d%d%d%d",&a[1],&a[2],&a[3],&a[4]);
    sort(a+1,a+5);
    puts(a[1]+a[4]==a[2]+a[3] || a[4]==a[1]+a[2]+a[3] ? "Yes" : "No");

    return 0;
}
#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define PI 3.14159265358979323846
#define int long long
constexpr long long INF = numeric_limits<long long>::max() / 2;
constexpr int MOD = 1000000007;
using Graph = vector<vector<int>>;


signed main() {
    cin.tie(nullptr);
    ios::sync_with_stdio(false);

    
    int a[4];
    int sum=0;
    rep(i,4){
        cin>>a[i];
        sum+=a[i];
    }
    for(int bit=0;bit<(1<<4);bit++){
        int s=0;
        rep(i,4){
            if(bit&(1<<i))s+=a[i];
        }
        if(s*2==sum){
            cout<<"Yes"<<endl;
            return 0;
        }
    }
    cout<<"No"<<endl;

    

    
    




}
