Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ACM-ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

E. Euler tour

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputEuler is a little, cute squirrel. When the autumn comes, he collects some reserves for winter. The interesting fact is that Euler likes to collect acorns in a specific way. A tree can be described as $$$n$$$ acorns connected by $$$n - 1$$$ branches, such that there is exactly one way between each pair of acorns. Let's enumerate the acorns from $$$1$$$ to $$$n$$$.

The squirrel chooses one acorn (not necessary with number $$$1$$$) as a start, and visits them in a way called "Euler tour" (see notes), collecting each acorn when he visits it for the last time.

Today morning Kate was observing Euler. She took a sheet of paper and wrote down consecutive indices of acorns on his path. Unfortunately, during her way to home it started raining and some of numbers became illegible. Now the girl is very sad, because she has to present the observations to her teacher.

"Maybe if I guess the lacking numbers, I'll be able to do it!" she thought. Help her and restore any valid Euler tour of some tree or tell that she must have made a mistake.

Input

The first line contains a single integer $$$n$$$ ($$$1 \leq n \leq 5 \cdot 10^5$$$), denoting the number of acorns in the tree.

The second line contains $$$2n - 1$$$ integers $$$a_1, a_2, \ldots, a_{2n-1}$$$ ($$$0 \leq a_i \leq n$$$) — the Euler tour of the tree that Kate wrote down. $$$0$$$ means an illegible number, which has to be guessed.

Output

If there is no Euler tour satisfying the given description, output "no" in the first line.

Otherwise, on the first line output "yes", and then in the second line print the Euler tour which satisfy the given description.

Any valid Euler tour will be accepted, since the teacher doesn't know how exactly the initial tree looks.

Examples

Input

2

1 0 0

Output

yes

1 2 1

Input

4

1 0 3 2 0 0 0

Output

yes

1 4 3 2 3 4 1

Input

5

0 1 2 3 4 1 0 0 0

Output

no

Note

An Euler tour of a tree with $$$n$$$ acorns is a sequence of $$$2n - 1$$$ indices of acorns. such that each acorn occurs at least once, the first and the last acorns are same and each two consecutive acorns are directly connected with a branch.

Codeforces (c) Copyright 2010-2019 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Mar/22/2019 16:17:57 (d1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|