#include using namespace std; #define dbg(x) (cout<<#x<<" = "<<(x)<<'\n') typedef long long int lld; const int INF = (1LL << 30) - 1; const lld LINF = (1LL << 62) - 1; const int NMAX = 8 * 1000; int N; char sir[NMAX + 5]; int B[NMAX / 8 + 5]; int main() { cin.sync_with_stdio(false); #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif scanf("%s", sir); N = strlen(sir); for (int i = 0; i < N; i += 8) { int trailingzeros = 0; for (int j = 7; j >= 0; j--) if (sir[i + j] == '0') trailingzeros++; else break; if (sir[i] == '0') trailingzeros = -1; B[i / 8 + 1] = trailingzeros; } bool ok = true; int i, s = 0; for (int i = 1; i <= N / 8; i++) if (B[i] >= 0) break; for (i = 1, s = 0; i <= N / 8; i++) { if (B[i] >= 0 && s) ok = false; s += B[i]; if (s < 0) ok = false; } if (s) ok = false; printf("%s", ok ? "Yes" : "No"); return 0; }