L. 翻转硬币
time limit per test
2 seconds
memory limit per test
512 megabytes
input
standard input
output
standard output

小 L 在玩一个翻转硬币的游戏,其规则如下:

n 个硬币按顺序排成一行,每个硬币要么是正面(用 '1' 表示)要么是反面(用 '0' 表示)。

每次操作,小 L 可以选择两个 相邻 的硬币,同时翻转它们(即正面变反面,反面变正面)。

小 L 想知道,是否可以通过若干次这样的操作,使得 所有硬币都变成正面

Input

一行一个只包含字符 '0' 和 '1' 的字符串 s2 ≤ |s| ≤ 20),表示排成一行的每个硬币的状态。

Output

输出一行一个字符串,如果可以使所有硬币变为正面,输出 "Yes" ,否则输出 "No" 。

你可以以任意大小写输出 "Yes" 和 "No"(例如,字符串 "yEs"、"yes"、"Yes" 和 "YES" 将被识别为肯定的回答)。

Examples
Input
00
Output
Yes
Input
010
Output
Yes
Input
101
Output
No
Input
1111
Output
Yes
Note

对于第一个样例,只需要选择第 1 个硬币和第 2 个硬币翻转,然后所有硬币都变成正面。

对于第二个样例,第一次选择第 1 个硬币和第 2 个硬币翻转,第二次选择第 2 个硬币和第 3 个硬币翻转,然后所有硬币都变成正面。

对于第三个样例,可以证明无论如何操作,都无法使得所有硬币都变成正面。

对于第四个样例,所有硬币都已经都是正面。