                   /**Bismillahir Rahmanir Rahim.**/
/*
         Md.Fagun Molla
         18ICTCSE006
         BSMRSTU(SHIICT)
*/
#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
using ll=long long;
using db=double;
///***************************************************** CONSTANTS ******************************************************///

int const N=1e7+3;
ll MOD=1e9+7,fact[N];
const long long inf=(long long)1e18;
const long double PI=3.14159265358979;

///************************************************ CONTAINER DEFINITIONS ***********************************************///

typedef vector<int> vi;
typedef vector<ll> vl;
typedef pair<int,int> pii;
typedef pair<ll, ll> pll;
typedef vector<pii> vii;
typedef vector<pll> vll;

///************************************************ SHORT FORM KEYWORDS *************************************************///

#define PB push_back
#define F first
#define S second
#define MP make_pair
#define I insert
#define lb lower_bound
#define ub upper_bound
#define endl '\n'

///************************************************ SHORT FORM FUNCTIONS ************************************************///

#define loop(a,b) for(ll i=a;i<b;i++)
#define loopr(a,b) for(ll i=a-1;i>=b;i--)
#define mem(a,b) memset(a, b, sizeof(a) )
#define gcd(a,b) __gcd(a,b)
#define lcm(a,b) (a*(b/gcd(a,b)))
#define sa(v) sort(v.begin(),v.end())
#define sd(v) sort(v.begin(),v.end(),greater<>())
#define rev(s) reverse(s.begin(),s.end())
#define stll(x) stoll(x, nullptr, 10);
#define yes cout<<"YES"<<endl;
#define no cout<<"NO"<<endl;
#define mx(a) *max_element(all(a))
#define mn(a) *min_element(all(a))
#define all(a) a.begin(),a.end()
#define mxa(a,N) *max_element(a,a+N)
#define mna(a,N) *min_element(a,a+N)
#define print(a) {for(auto x:a)cout<<x<<" ";cout<<endl;}
#define io() ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);


///************************************************ SOLUTION STARTS HERE ************************************************///
///======================================================================================================================///


void solve(){
	ll a,b,c,d;
	cin>>a>>b>>c>>d;
	if(a+b==c+d || a+c==b+d || a+d==b+c || a==b+c+d || b==a+c+d || c==a+b+d || d==a+b+c) cout<<"Yes"<<endl;
	else cout<<"No"<<endl;
}
int main()
{
    io();

    int T=1;//cin>>T;
    while(T--) solve();
    return 0;
}

/****************ALHAMDULILLAH******************/

#include<bits/stdc++.h>
using namespace std;
#define db(a) cout<<#a<<"="<<(a)<<'\n';
#define DB(a) {cout<<#a<<"里的元素为 ";for(auto x:a)cout<<x<<' ';cout<<'\n';}
#define DBB(a) {cout<<#a<<"里的元素为 ";for(auto x:a)cout<<x.first<<' '<<x.second<<"    ";cout<<'\n';}
#define bb begin()
#define ee end()
#define ss size()
#define pb push_back
#define te int t;cin>>t;while(t--)
using ll=long long;
int h,w,a,b,ans;
void dfs(int s,int pos,int a,int b){
    if(s==h*w){ans++;return;}
    if(1<<s&pos){return dfs(s+1,pos,a,b);}
    if(b>0)dfs(s+1,pos|1<<s,a,b-1);
    if(a>0){
        if(s%w<w-1)dfs(s+1,pos|1<<s|1<<(s+1),a-1,b);
        if(s+w<h*w)dfs(s+1,pos|1<<s|1<<(s+w),a-1,b);
    }
}
int main(){
    ios::sync_with_stdio(false);cin.tie(0);
    cin>>h>>w>>a>>b;
    dfs(0,0,a,b);
    cout<<ans;
}