#include<bits/stdc++.h>

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;
	}

	printf("%s", ok ? "Yes" : "No");

	return 0;
}