Is the given binary tree full? A full binary tree is a special type of binary tree in which every node has either two or no children. It is also known as a proper binary tree.

Input

The input contains space-separated integers representing the values in the nodes of the binary tree. The order of the values is given as described in the previous statement (by traversing from the left to the right subtree every time). A value of 0 means that the node does not exist. It’s guaranteed that the input binary tree is valid.

Output

The program should print Yes in case the binary tree is full, and No otherwise.

Examples

Input

Output

1 2 3 4 5 0 0 0 0 6 7 0 0 8 9 0 0 0 0

Yes

1 2 3 4 5 0 0 7 8 0 0 0 0 0 6 0 0

No

Explanation

In the first example, the binary tree is full as all the nodes have either 0 or 2 children.

In the second example, the binary tree is not full as the node with value 3 has only 1 child.