//inlclude before define #define _USE_MATH_DEFINES //include #include<iostream> #include<string> #include<algorithm> #include<vector> #include<cmath> #include<type_traits> #include<numeric> #include<assert.h> #include<deque> #include<iomanip> #include<set> #include<tuple> #include<map> using namespace std; //typedef typedef vector<int> VI; typedef vector<string> VS; typedef vector<char> VC; typedef pair<int, int> P1; typedef long long int ll; //define #define INF 1e9 #define NUM 1000000007 #define all(x) begin(x),end(x) #define rep(i,n) for(int i=0;i<(int)(n);i++) #define REP(i,a,b) for(int i=int(a);i<int(b);i++) #define chmin(a,b) a=min((a),(b)) #define chmax(a,b) a=max((a),(b)) //function /*ll gcd(ll a, ll b) { if (b == 0) return a; else return gcd(b, a%b); }*/ /*ll lcm(ll a,ll b) { ll g = gcd(a, b); return a * (b / g); }*/ /*int dig(int a) { int sum = 0; while (a) { sum += a % 10; a /= 10; } return sum; }*/ int main () { int y, m, d; cin >> y >> m >> d; bool flag = false; if (y >= 1990 && 2018 >= y) { flag = true; } else if (y == 2019) { if (m <= 4 && m <= 31) { flag = true; } } else if (y == 1989) { if (m == 1 && d >= 8) { flag = true; } else if (m >= 2) { flag = true; } } if (flag) cout << "Yes" << endl; else cout << "No" << endl; }