#include <bits/stdc++.h>
using namespace std;

typedef long long int ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef vector<pii> vii;
typedef unordered_map<int, int> umii;
typedef unordered_map<ll, ll> umll;
typedef map<ll, ll> mll;

#define fastio                        \
    ios_base::sync_with_stdio(false); \
    cin.tie(NULL);                    \
    cout.tie(NULL)
#define ff first
#define ss second
#define fi(n) for (int i = 0; i < n; i++)
#define fj(n) for (int j = 0; j < n; j++)
#define fi(s, e) for (int i = s; i < e; i++)
#define fk(n) for (int k = 1; k <= n; k++)
#define pb push_back
#define mp make_pair
const int mod = 1e9 + 7;
// **** CODE STARTS HERE ******//
bool cmpd(ll a, ll b)
{
    return a > b;
}
bool cmp(pair<ll, ll> a, pair<ll, ll> b)
{
    if (a.ss == b.ss)
    {
        return a.ff<b.ff;
    }
    
        return a.ss > b.ss;
}
ll inter(ll a, ll b)
{
    cout << "? " << a << " " << b << endl;
    ll k;
    cin >> k;
    return k;
}
ll fact(ll a)
{
    ll val = 1;
    for (ll i = 1; i <= a; i++)
    {
        val = (val % mod * i % mod) % mod;
    }
    return val;
}
int ans[500][500];
void dfs(int ans[][500],int i,int j,int n,int &val,int k)
{
    if (val == 0)
    {
        return;
    }
    if(i<0||j<0||i>=n||j>=n)
    {
        return;
    }
    if(ans[i][j]!=0)
    return;
        
        ans[i][j]=k;
        val=val-1;
        dfs(ans,i,j-1,n,val,k);
        dfs(ans,i+1,j,n,val,k);
        dfs(ans,i,j+1,n,val,k);
        dfs(ans,i-1,j,n,val,k);

}
void solve()
{
    int a,b,c;
    cin>>a>>b>>c;
        if((a*a+b*b)<c*c)
        {
            cout<<"Yes"<<endl;
        }
        else
        {
            cout<<"No"<<endl;
        }
}

int main()
{
    fastio;
#ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
    /*ll t;
    cin >> t;
    while (t--)*/
        solve();

    // checktime;
    return 0;
}
#include <iostream>
#include <sstream>
#include <cmath>
#include <algorithm>
#include <string>
#include <vector>
#include <list>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <cstdlib>

using namespace std;

typedef unsigned int u32;
typedef int i32;
typedef unsigned long long int u64;

//typedef long long int i64; // 9e18
typedef long long int i64; // 9e18

typedef uint16_t u16;
typedef int16_t i16;
typedef uint8_t u8;
typedef int8_t i8;

const long double PI = 3.141592653589793238463;
//const int MAXN = 1000500;
//const int MAXVALUE = 1000000500;
//const long double EPS = 1e-7;
const i64 INF = 1e18;
i64 mod = 1e9 + 7;
//i64 mod = 998244353;


i64 T, n, m, k;


//string s1;
//getline(cin, s1);



//bool comp(pair<i64,i64> a, pair<i64,i64> b)
//{
//    if (a.first == b.first)
//        return (a.second < b.second);
//    return (a.first < b.first);
//
//}


//map <i64, set<i64>> g;
//vector<bool> used;
//
//void dfs(i64 v) {
//    used[v] = true;
//    for (auto v0 : g[v]) {
//        if (used[v0]) {
//            continue;
//        }
//
//        //do sth
//        dfs(v0);
//    }
//}


int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.precision(16);

    T = 1;
    //cin >> T;


    for (i64 tt = 1; tt <= T; ++tt) {

        i64 a, b, c;
        cin >> a >> b >> c;
        i64 res = 0;




        //cout << res << endl;



        //cout << "Case #" << tt << ": " << res << endl;
        //cout.flush();


        bool yes_no = true;
        if (yes_no) {
            bool fl = true;

            if (a * a + b * b >= c * c) {
                fl = false;
            }


            fl ? cout << "Yes" << endl : cout << "No" << endl;

        }

    }


    return 0;
}