#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define rep(X,Y) for (int (X) = 0;(X) < (Y);++(X)) #define rrep(X,Y) for (int (X) = (Y)-1;(X) >=0;--(X)) #define all(X) (X).begin(),(X).end() #define fi first #define sc second using namespace std; typedef long long ll; typedef pair pii; typedef pair pll; const int dx[4] = {1, 0, -1, 0}, dy[4] = {0, 1, 0, -1}; int main() { int flag = 0; string p; cin >> p; if (p.size() == 1) { cout << "No" << endl; return 0; } for (int i = 0; i < p.size(); ++i) { if ((flag == 0 || flag == 1) && (p[i] == '7' || p[i] == '6')) flag = 1; else if (flag == 0 && p[i] == '1') flag = 2; else if ((flag == 0 || flag == 1) && (p[i] == '7' || p[i] == '8')) flag = 3; else if ((flag == 2 || flag == 3 || flag == 4) && (p[i] == '3' || p[i] == '4' || p[i] == '5')) flag = 4; else if ((flag == 2 || flag == 3 || flag == 4) && (p[i] == '2' || p[i] == '3' || p[i] == '4')) flag = 5; else { cout << "No" << endl; return 0; } } cout << "Yes" << endl; return 0; }