#include <bits/stdc++.h>
 
 
#define se second
#define sz(x) (int)(x.size())
#define ll long long
#define rep(i,x,y) for(int i = x; i <= y; ++i)
#define repr(i,x,y) for(int i = x; i >= y; --i)
#define pb push_back
#define mp make_pair
#define fi first
#define ull unsigned ll
 
#define pi 3.14159265358979
 
 
using namespace std;
 
const int N = (int)(1e6) + 322;
const ll INF = 2e18 + 17;
const int inf = 2e9;
const int mod = 1000000007;
const double eps = 1e-9;


template<typename T>
void pop_front(vector<T>& vec)
{
    assert(!vec.empty());
    vec.erase(vec.begin());
}
 
int gcd(int a, int b) { return b ? gcd (b, a % b) : a; }
 
int nbr_bits(int a){
	return log2(a)+1;
} 
 
int fastpow(int a, int n, int mod) {
    if(n==0)
    	return 1;
    if(n%2==0){
    	int res = fastpow(a,n/2,mod);
    	res*=res;
    	res%=mod;
    	return res;
	}
	int res = (fastpow(a,n-1,mod)*a)%mod;
	return res;
    
}
 
// ---------------------------------------------------
int p[N];
stack<string> answers;
 
int find(int u){
	if(p[u]==u) return u;
	return p[u] = find(p[u]);
}

bool bubleSort(vector<int> v, int n){

  int ans = 0;
  int m = (n * (n -1)) / 2;
  rep(i, 0, n-1){
  
    rep(j, 0, n-2){
    
      if(v[j] > v[j + 1]){
		  
		  swap(v[j], v[j + 1]);
		  ans++;
		  
		}
     
	 }
    
  }
  if(ans < m) return true;
  else return false;
  
}

int n;

bool isPalinadrome(string str){
	   
	  if(str.size() == 1) return true;	 	
	  rep(i, 0, (str.size() / 2) - 1 ) {
	    
	    if(str[i] == str[str.size() - i - 1]) continue;
	    return false;
	    
	  }
	  
	  return true;
	  
}

ll fact(ll n) {
  
  if(n == 0 || n == 1 ) return 1;
  else return (n * fact(n-1)) % mod;
  
}
 
signed main()
{
 
	ios_base::sync_with_stdio(false);
	
	int a, b, c;
	cin >> a >> b >> c;
	int a2 = fastpow(a, 2, mod);
	int b2 = fastpow(b, 2, mod);
	int c2 = fastpow(c, 2, mod);
	int sum = a2 + b2;
	if(sum < c2) cout << "Yes" << endl;
	else cout << "No" << endl;
	
	return 0;
}
#include<bits/stdc++.h>
using ll = int_fast64_t;
using P = std::pair<ll,ll>;
using PP = std::pair<ll,P>;

#define REP(i,b,e) for(int i=b; i<e; i++)
#define PRINT(vec) {printf("[ ");for(auto &i:vec)printf("%ld ",i);puts("]");}
#define fi first
#define se second

const int MOD = 1e9+7;
int dx[] = {0, 1, 0, -1, 1, 1, -1, -1}, dy[] = {1, 0, -1, 0, 1, -1, -1, 1};

int main(){
	int a, b, c;
	scanf("%d %d %d", &a, &b, &c);
	if(a*a + b*b < c*c) puts("Yes");
	else puts("No");
	return 0;
}

