Is the binary tree complete?

You are asked to find out if the given binary tree is complete.
A binary tree is complete if all the levels of the tree are filled completely except the lowest level nodes which are filled from as left as possible.
Both of the trees presented below are complete binary trees.
notion image
notion image

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 complete, and No otherwise.

Examples

Input
Output
1 2 3 4 5 8 9 0 0 0 0 0 0 6 7 0 0 0 0
Yes
1 2 3 4 5 8 0 0 0 0 0 6 7 0 0 0 0
Yes
1 2 3 4 5 0 0 0 0 6 7 0 0 8 9 0 0 0 0
No
1 2 3 4 5 0 0 7 8 0 0 0 0 0 6 0 0
No

Explanation

  1. Example 1 is a complete binary tree as the last level is filled from the left
    1. notion image
  1. Example 2 is a complete binary tree as the last level is filled from the left
    1. notion image
  1. Example 3 is not a complete binary tree as it’s not filled from the very left
    1. notion image
  1. Example 4 is not a complete binary tree as it’s not filled from the very left
    1. notion image
Β 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue