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

#define INF_LL (ll)1e18
#define INF (int)1e9
#define REP(i, n) for(int i = 0;i < (n);i++)
#define FOR(i, a, b) for(int i = (a);i < (b);i++)
#define all(x) x.begin(),x.end()
#define fs first
#define sc second
using ll = long long;
using PII = pair<int, int>;
using PLL = pair<ll, ll>;

const double eps = 1e-10;

template<typename A, typename B>inline void chmin(A &a, B b){if(a > b) a = b;}
template<typename A, typename B>inline void chmax(A &a, B b){if(a < b) a = b;}

int main(void){
	cin.tie(0);
	ios::sync_with_stdio(false);
	string p;
	cin >> p;
	REP(i, p.size()){
		p[i] -= '0';
	}
	int up = 0;
	bool aft = 0;
	for(int i = p.size()-1;i >= 0;i--){
		if(p[i] == 2+up || p[i] == 3+up || p[i] == 4+up){
			if(aft){
				cout << "No" << endl;
				return 0;
			}
			up = 1;
		}else if(p[i] == 6+up || p[i] == 7+up || p[i] == 0+up){
			up = 0;
			aft = 1;
		}else{
			cout << "No" << endl;
			return 0;
		}

		if(i == p.size()-1 && aft){
			cout << "No" << endl;
			return 0;
		}
	}
	cout << "Yes" << endl;
}