#include <bits/stdc++.h>
 
#define rep(i,n) for(ll i=0;i<n;++i)
#define rrep(i, n) for(ll i=n-1;i>=0;--i)
#define rep1(i, n) for(ll i=1; i<=n; ++i)
#define repitr(itr,mp) for(auto itr=mp.begin();itr!=mp.end();++itr)
#define ALL(a) (a).begin(),(a).end()

template<class T> void chmax(T &a, const T &b){if(a < b){a = b;}}
template<class T> void chmin(T &a, const T &b){if(a > b){a = b;}}

using namespace std;
using ll  = long long;
using ld = long double;
using ull = unsigned long long;
using pll = pair<ll, ll>;

const ll MOD  = 1e9 + 7;
const ll LINF = 1LL << 60;
const int INF = 1e9 + 7;
const double PI = 3.1415926535897932384626;

ll mod(ll a, ll m){return (a + m) % m;}

int main(){
    ll a, b, c;
    cin >> a >> b >> c;

    if(a* a + b * b < c*c)cout << "Yes";
    else cout << "No";
}
#include <bits/stdc++.h>
#define lsb(x) (x & (-x))
#define ll long long
#define ull unsigned long long
#define Test(tt) cout << "Case #" << tt << ": "
 
 
using namespace std;




int main() {
#ifdef HOME
    ifstream cin("A.in");
    ofstream cout("A.out");
#endif
    int i;
    ios::sync_with_stdio(false);
    cin.tie(0), cout.tie(0);


    vector<int> arr(4);
    int tot = 0;
    for(i = 0; i < 4; i++) {
    	cin >> arr[i];
    	tot += arr[i];
    }

    for(int conf = 0; conf < 16; conf++) {
    	int sum = 0;
    	for(int i = 0; i < 4; i++) {
    		if(conf & (1 << i)) {
    			sum += arr[i];
    		}
    	}
    	if(sum * 2 == tot) {
    		cout << "Yes";
    		return 0;
    	}
    }

    cout << "No";


    return 0;
}