// RandomUsername (Nikola Jovanovic) // MindCoding 2016 Round 3 // A #include #define DBG false #define debug(x) if(DBG) printf("(ln %d) %s = %d\n", __LINE__, #x, x); #define lld long long #define ff(i,a,b) for(int i=a; i<=b; i++) #define fb(i,a,b) for(int i=a; i>=b; i--) #define par pair #define fi first #define se second #define mid (l+r)/2 #define INF 1000000000 #define MAXN 8005 #define u32 unsigned int using namespace std; int n; int a[MAXN]; char* byt; char s[MAXN]; int curr; int main() { scanf("%s", s); int len = strlen(s); for(int i=0; i<=len-1; i+=8) { byt = (s+i); n++; if(byt[0] == '0') curr = -1; else { curr = 0; fb(i, 7, 1) { if(byt[i] == '0') curr++; else break; } } a[n] = curr; } bool bug = false; //bug? competitor! ff(i, 1, n) { if(a[i] != -1) { // locomotive? ff(j, 1, a[i]) { if((i+j) > n || a[i+j] != -1) { bug = true; break; } } } if(bug) break; } if(bug) printf("No\n"); else printf("Yes\n"); return 0; }