#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define rep(i, m, n) for(int i=int(m);i> p; if (p[0] != '1') { if (p[0] == '6' || p[0] == '7') { int mode = 2; rep(i, 1, p.size() - 1) { int n = p[i] - '0'; if (mode == 2) { if (n == 8) { mode = 1; } else { if (n == 7 || n == 6) { continue; } else if (n >= 3 && n <= 5) { mode = 1; } else { cout << "No" << endl; return 0; } } } else { if (n < 3 || n > 5) { cout << "No" << endl; return 0; } } int ln = p[p.size() - 1] - '0'; if (ln < 2 || ln > 4) { cout << "No" << endl; return 0; } } cout << "Yes" << endl; } else if (p[0] == '8') { rep(i, 1, p.size() - 1) { int n = p[i] - '0'; if (n < 3 || n > 5) { cout << "No" << endl; return 0; } } int ln = p[p.size() - 1] - '0'; if (ln < 2 || ln > 4) { cout << "No" << endl; return 0; } cout << "Yes" << endl; } else { cout << "No" << endl; return 0; } } else { rep(i, 1, p.size() - 1) { int n = p[i] - '0'; if (n < 3 || n > 5) { cout << "No" << endl; return 0; } } int ln = p[p.size() - 1] - '0'; if (ln < 2 || ln > 4) { cout << "No" << endl; return 0; } cout << "Yes" << endl; } return 0; }