// radhey krishna
#include<bits/stdc++.h>
using namespace std;
#define ll long long    
#define ld long double
template<typename T> T sqr(const T &x) {
    return x * x;
}     
#define endl "\n"
int mx[31] , mn[31];                 
void solve(){   
 ll a ,b ,c ,d;
 cin>>a>>b>>c>>d;
 ll flag = 0;
 if(a == b+c+d){
  flag = 1;
 }   
  if(b == a+c+d){
  flag =1;
 }  
 if(c == a+b+d){
  flag =1;
 }
  if(a + b == c + d){
  flag = 1;
 }   
 if(b + c == a + d){
  flag = 1;
 }
 if(d + b == a + c){
  flag = 1;
 }
  if(a + b + c == d){  
  flag = 1;
 }
 if(flag == 1){
  cout<<"Yes"<<endl;  
 }     
 else{
  cout<<"No"<<endl;
 }
}
int main(){                  
  #ifndef ONLINE_JUDGE            
    // for getting input from input.txt   
    freopen("input.txt", "r", stdin);  
    // for writing output to output.txt     
    freopen("output.txt", "w", stdout);  
#endif  
       ios_base::sync_with_stdio(false);            
       cin.tie(NULL);    
     int t =1 ;     
      //cin>>t;    
     while(t--){    
    solve();    
        }    
 }    
#include<bits/stdc++.h>
using namespace std;
#define int long long


int32_t main(){

    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);

    vector<int> v(4);
    int ans = 0;

    for(int i=0;i<4;i++){
        cin>>v[i];
        ans+=v[i];
    }

    for(int i=1;i<8;i++){
        int curr = 0;
        for(int j=0;j<4;j++){
            if(i&(1ll<<j)){
                curr+=v[j];
            }
        }
        if(curr == ans - curr){
            cout<<"Yes\n";
            exit(0);
        }
    }

    cout<<"No\n";

    return 0;
}