#include <bits/stdc++.h>
#pragma warning(disable : 4996)
using namespace std;
using ll = long long;
using ull = unsigned long long;
using vb = vector<bool>;
using vi = vector<int>;
using vll = vector<ll>;
using vs = vector<string>;
using vvb = vector<vb>;
using vvi = vector<vi>;
using vvll = vector<vll>;
template <typename A, typename T>
void assign2d(A &arr, ll H, ll W, T t) {
  arr.resize(H);
  for (ll i = (ll)(0); i < (ll)(H); i++) arr[i].assign(W, t);
}
template <class T>
ostream &operator<<(ostream &os, const vector<T> &v) {
  int n = v.size();
  for (ll i = (ll)(0); i < (ll)(n); i++) os << v[i] << (i == n - 1 ? "" : " ");
  return os;
}
template <class T = int>
inline T IN() {
  T x;
  cin >> x;
  return x;
}
template <class T>
inline void OUT(const T &x) {
  cout << x << "\n";
}
struct pre_ {
  pre_() {
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
  }
} pre__;
int main(void) {
  int A, B, C;
  cin >> A >> B >> C;
  if (C > A + B) {
    OUT("NO");
  } else {
    OUT("YES");
  }
  return 0;
}
