#include <bits/stdc++.h>
using namespace std;
#define int long long
void solve() {
    int a, b, c; cin >> a >> b >> c;
    cout << a + b + c - min(a, (min(b, c))) << endl;
}

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

#ifndef ONLINE_JUDGE
    freopen("input1.txt", "r", stdin);
    freopen("output1.txt", "w", stdout);
#endif
    int t = 1;
    // cin >> t;
    for (int i = 0; i < t; ++i)
    {
        solve();
    }
}
#include <bits/stdc++.h>
//#include <atcoder/all>
using namespace std;
//using namespace atcoder;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define rep2(i, s, n) for (int i = (s); i < (int)(n); i++)
typedef long long ll;
#define ALL(v) v.begin(), v.end()
#define vmax(v) *max_element(ALL(v))
#define vmin(v) *min_element(ALL(v))
#define chmax(x, a) x = max(x, a)
#define chmin(x, a) x = min(x, a)
void YesNo(bool x) {
    if (x) cout << "Yes" << endl;
    else cout << "No" << endl;
}

int sum;
int ABCD[4];

bool dfs(int i, int tmp) {
    if (tmp*2 == sum) {
        return true;
    }
    if (i+1 >= 4) return false;
    else return dfs(i+1, tmp+ABCD[i+1])|dfs(i+1, tmp);
}

int main() {
    sum = 0;
    rep(i, 4) {
        cin >> ABCD[i];
        sum+=ABCD[i];
    }
    YesNo(dfs(-1, 0));
}
