Language: C++

#include <bits/stdc++.h>
#define INF 0x3f3f3f
#define PI 3.1415926535897932384626433832795
#define MOD 1000000007
#define F first
#define S second
#define PB push_back
#define GCD __gcd
#define COUNT1 __builtin_popcount
#define FORJ(i,j,k) for(int i=j; i<k; ++i)
#define FOR(i,k) FORJ(i,0,k)
#define FORR(i,k) for(int i=k; i>=0; --i)
#define FORG(y,x,g) FOR(y, sz(g)) FOR(x, sz2(g))
#define CIN(a) int a; cin>>a;
#define CINC(a) char a; cin>>a;
#define CINS(a) string a; cin>>a;
#define CIND(a) double a; cin>>a;
#define CINLL(a) ll a; cin>>a;
#define CINLINE(a) string a; getline(cin, a);
#define CIN2(a,b) int a,b; cin>>a>>b;
#define CIN3(a,b,c) int a,b,c; cin>>a>>b>>c;
#define CIN4(a,b,c,d) int a,b,c,d; cin>>a>>b>>c>>d;
#define CINV(n,a) VI a; FOR(i,n) { int x; cin>>x; a.PB(x); }
#define CINV2(n,a,b) VI a,b; FOR(i,n) { int x,y; cin>>x>>y; a.PB(x); b.PB(y); }
#define ALL(x) x.begin(), x.end()
#define D(x) cout<<#x<<": "<<(x)<<endl
#define H cout<<"H"<<hcnt++<<endl;

using namespace std;
typedef long long ll;
typedef pair<int,int> PII;
typedef vector<int> VI;
typedef vector<ll> VLL;
typedef vector<bool> VB;
typedef vector<string> VS;
typedef vector<PII> VPII;
typedef vector<VI> GI;
typedef vector<VB> GB;
typedef vector<vector<char> > GC;
typedef map<char,int> MC;
typedef map<int,int> MI;
typedef map<string,int> MS;

void OUT(auto x) { cout<<x<<endl; }
void OUTP(PII &p) { cout<<p.F<<" "<<p.S<<endl; }
void OUTB(int x) { cout<<bitset<32>(x)<<endl; }
void OUTN(auto &x) { cout<<x->d<<endl; }
void OUTV(auto &x) { for(auto &d:x) cout<<d<<" "; cout<<endl; }
void OUTVN(auto &x) { for(auto &d:x) cout<<d->d<<" "; cout<<endl; }
void OUTG(auto &x) { for(auto &v:x) { for(auto u:v) cout<<u; cout<<endl; } }
void OUTGN(auto &x) { for(auto &v:x) { for(auto u:v) cout<<u->d<<" "; cout<<endl
; } }
void OUTM(auto &x) { for(auto &p:x) cout<<p.F<<":"<<p.S<<" "; cout<<endl; }
PII operator+(const PII &l, const PII &r) { return {l.F+r.F, l.S+r.S}; }
void amin(auto &x, auto y) { if(y < x) x = y; }
void amax(auto &x, auto y) { if(x < y) x = y; }
auto mod(auto x, auto m) { return ((x % m) + m) % m; }
bool IsSameSign(auto a, auto b) { return ((a>=0) ^ (b<0)); }
int sz(const auto &x) { return (int)x.size(); }
int sz2(const auto &x) { return (int)x[0].size(); }
auto Safe(const auto &x, int i) { return i<0 || i>=sz(x) ? 0 : x[i]; }
bool Find(const auto &x, auto y) { return x.find(y) != x.end(); }
void Tally(const auto &v, auto &m) { for(auto &x : v) m[x]++; }

auto Min(const auto &v) { return *min_element(ALL(v)); }
auto Max(const auto &v) { return *max_element(ALL(v)); }
auto Count(const auto &v, auto x) { return count(ALL(v), x); }
auto Sum(const auto &a) { return accumulate(ALL(a), 0); }
bool Bsearch(const auto &v, auto x) { return binary_search(ALL(v),x); }
void Fill(auto &v, auto x) { fill(ALL(v), x); }
void Iota(auto &v, int i, int j) { FOR(k,sz(v)) { v[k]=i; i+=j; } }
void Sort(auto &v) { sort(ALL(v)); }
void Merge(const auto &a, const auto &b, auto &c) { merge(ALL(a), ALL(b), insert
er(c, c.begin())); }
void MergeInplace(auto &a, int x) { inplace_merge(a.begin(), a.begin()+x, a.end(
)); }
void Union(const auto &a, const auto &b, auto &c) { set_union(ALL(a), ALL(b), in
serter(c, c.begin())); }
void Intersect(const auto &a, const auto &b, auto &c) { set_intersect(ALL(a), AL
L(b), inserter(c, c.begin())); }
void Diff(const auto &a, const auto &b, auto &c) { set_difference(ALL(a), ALL(b)
, inserter(c, c.begin())); }
void Symdiff(const auto &a, const auto &b, auto &c) { set_symmetric_difference(A
LL(a), ALL(b), inserter(c, c.begin())); }

int hcnt=1;
VPII nb4 = {{0,1}, {1,0}, {0,-1}, {-1,0}};
VPII nb8 = {{0,1}, {1,1}, {1,0}, {1,-1}, {0,-1}, {-1,-1}, {-1,0}, {-1,1}};

bool cmp(int a, int b) { return a < b; }

int main() {
  CIN3(a,b,c);
  if(c<=a+b)
    OUT("Yes");
  else OUT("No");

}

Compiler output:
a.cc:44:10: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   44 | void OUT(auto x) { cout<<x<<endl; }
      |          ^~~~
a.cc:47:11: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   47 | void OUTN(auto &x) { cout<<x->d<<endl; }
      |           ^~~~
a.cc:48:11: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   48 | void OUTV(auto &x) { for(auto &d:x) cout<<d<<" "; cout<<endl; }
      |           ^~~~
a.cc:49:12: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   49 | void OUTVN(auto &x) { for(auto &d:x) cout<<d->d<<" "; cout<<endl; }
      |            ^~~~
a.cc:50:11: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   50 | void OUTG(auto &x) { for(auto &v:x) { for(auto u:v) cout<<u; cout<<endl; } }
      |           ^~~~
a.cc:51:12: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   51 | void OUTGN(auto &x) { for(auto &v:x) { for(auto u:v) cout<<u->d<<" "; cout<<endl
      |            ^~~~
a.cc:53:11: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   53 | void OUTM(auto &x) { for(auto &p:x) cout<<p.F<<":"<<p.S<<" "; cout<<endl; }
      |           ^~~~
a.cc:55:11: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   55 | void amin(auto &x, auto y) { if(y < x) x = y; }
      |           ^~~~
a.cc:55:20: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   55 | void amin(auto &x, auto y) { if(y < x) x = y; }
      |                    ^~~~
a.cc:56:11: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   56 | void amax(auto &x, auto y) { if(x < y) x = y; }
      |           ^~~~
a.cc:56:20: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   56 | void amax(auto &x, auto y) { if(x < y) x = y; }
      |                    ^~~~
a.cc:57:10: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   57 | auto mod(auto x, auto m) { return ((x % m) + m) % m; }
      |          ^~~~
a.cc:57:18: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   57 | auto mod(auto x, auto m) { return ((x % m) + m) % m; }
      |                  ^~~~
a.cc:58:17: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   58 | bool IsSameSign(auto a, auto b) { return ((a>=0) ^ (b<0)); }
      |                 ^~~~
a.cc:58:25: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   58 | bool IsSameSign(auto a, auto b) { return ((a>=0) ^ (b<0)); }
      |                         ^~~~
a.cc:59:14: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   59 | int sz(const auto &x) { return (int)x.size(); }
      |              ^~~~
a.cc:60:15: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   60 | int sz2(const auto &x) { return (int)x[0].size(); }
      |               ^~~~
a.cc:61:17: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   61 | auto Safe(const auto &x, int i) { return i<0 || i>=sz(x) ? 0 : x[i]; }
      |                 ^~~~
a.cc:62:17: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   62 | bool Find(const auto &x, auto y) { return x.find(y) != x.end(); }
      |                 ^~~~
a.cc:62:26: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   62 | bool Find(const auto &x, auto y) { return x.find(y) != x.end(); }
      |                          ^~~~
a.cc:63:18: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   63 | void Tally(const auto &v, auto &m) { for(auto &x : v) m[x]++; }
      |                  ^~~~
a.cc:63:27: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   63 | void Tally(const auto &v, auto &m) { for(auto &x : v) m[x]++; }
      |                           ^~~~
a.cc:65:16: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   65 | auto Min(const auto &v) { return *min_element(ALL(v)); }
      |                ^~~~
a.cc:66:16: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   66 | auto Max(const auto &v) { return *max_element(ALL(v)); }
      |                ^~~~
a.cc:67:18: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   67 | auto Count(const auto &v, auto x) { return count(ALL(v), x); }
      |                  ^~~~
a.cc:67:27: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   67 | auto Count(const auto &v, auto x) { return count(ALL(v), x); }
      |                           ^~~~
a.cc:68:16: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   68 | auto Sum(const auto &a) { return accumulate(ALL(a), 0); }
      |                ^~~~
a.cc:69:20: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   69 | bool Bsearch(const auto &v, auto x) { return binary_search(ALL(v),x); }
      |                    ^~~~
a.cc:69:29: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   69 | bool Bsearch(const auto &v, auto x) { return binary_search(ALL(v),x); }
      |                             ^~~~
a.cc:70:11: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   70 | void Fill(auto &v, auto x) { fill(ALL(v), x); }
      |           ^~~~
a.cc:70:20: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   70 | void Fill(auto &v, auto x) { fill(ALL(v), x); }
      |                    ^~~~
a.cc:71:11: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   71 | void Iota(auto &v, int i, int j) { FOR(k,sz(v)) { v[k]=i; i+=j; } }
      |           ^~~~
a.cc:72:11: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   72 | void Sort(auto &v) { sort(ALL(v)); }
      |           ^~~~
a.cc:73:18: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   73 | void Merge(const auto &a, const auto &b, auto &c) { merge(ALL(a), ALL(b), insert
      |                  ^~~~
a.cc:73:33: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   73 | void Merge(const auto &a, const auto &b, auto &c) { merge(ALL(a), ALL(b), insert
      |                                 ^~~~
a.cc:73:42: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   73 | void Merge(const auto &a, const auto &b, auto &c) { merge(ALL(a), ALL(b), insert
      |                                          ^~~~
a.cc: In function 'void Merge(const auto:61&, const auto:62&, auto:63&)':
a.cc:73:75: error: 'insert' was not declared in this scope; did you mean 'assert'?
   73 | void Merge(const auto &a, const auto &b, auto &c) { merge(ALL(a), ALL(b), insert
      |                                                                           ^~~~~~
      |                                                                           assert
a.cc: At global scope:
a.cc:75:19: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   75 | void MergeInplace(auto &a, int x) { inplace_merge(a.begin(), a.begin()+x, a.end(
      |                   ^~~~
a.cc:77:18: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   77 | void Union(const auto &a, const auto &b, auto &c) { set_union(ALL(a), ALL(b), in
      |                  ^~~~
a.cc:77:33: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   77 | void Union(const auto &a, const auto &b, auto &c) { set_union(ALL(a), ALL(b), in
      |                                 ^~~~
a.cc:77:42: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   77 | void Union(const auto &a, const auto &b, auto &c) { set_union(ALL(a), ALL(b), in
      |                                          ^~~~
a.cc: In function 'void Union(const auto:65&, const auto:66&, auto:67&)':
a.cc:77:79: error: 'in' was not declared in this scope; did you mean 'yn'?
   77 | void Union(const auto &a, const auto &b, auto &c) { set_union(ALL(a), ALL(b), in
      |                                                                               ^~
      |                                                                               yn
a.cc: At global scope:
a.cc:79:22: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   79 | void Intersect(const auto &a, const auto &b, auto &c) { set_intersect(ALL(a), AL
      |                      ^~~~
a.cc:79:37: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   79 | void Intersect(const auto &a, const auto &b, auto &c) { set_intersect(ALL(a), AL
      |                                     ^~~~
a.cc:79:46: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   79 | void Intersect(const auto &a, const auto &b, auto &c) { set_intersect(ALL(a), AL
      |                                              ^~~~
a.cc: In function 'void Intersect(const auto:68&, const auto:69&, auto:70&)':
a.cc:79:79: error: 'AL' was not declared in this scope; did you mean 'ALL'?
   79 | void Intersect(const auto &a, const auto &b, a