Colorful Doors

아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

There is a bridge that connects left and right banks of a river. There are 2N2 N doors placed at different positions on this bridge, painted in some colors. The colors of the doors are represented by integers from 11 through NN. For each kk (1kN1 \leq k \leq N), there are exactly two doors painted in color kk.

Snuke decides to cross the bridge from the left bank to the right bank. He will keep on walking to the right, but the following event will happen while doing so: At the moment Snuke touches a door painted in Color kk (1kN1 \leq k \leq N), he teleports to the right side of the other door painted in color kk.

It can be shown that he will eventually get to the right bank.

For each ii (1i2N11 \leq i \leq 2 N - 1), the section between the ii-th and (i+1)(i + 1)-th doors from the left will be referred to as section ii. After crossing the bridge, Snuke recorded whether or not he walked through Section ii, for each ii (1i2N11 \leq i \leq 2 N - 1). This record is given to you as a string ss of length 2N12 N - 1. For each ii (1i2N11 \leq i \leq 2 N - 1), if Snuke walked through section ii, the ii-th character in ss is '1'; otherwise, the ii-th character is '0'.

Determine if there exists an arrangement of doors that is consistent with the record. If it exists, construct one such arrangement.

입력

Input is given in the following format:

NN

ss

출력

If there is no arrangement of doors that is consistent with the record, print "No". If there exists such an arrangement, print "Yes" in the first line, then print one such arrangement in the second line, in the following format: c_1c\_1 c_2c\_2 ...... c_2Nc\_{2 N}. Here, for each ii (1i2N1 \leq i \leq 2 N), c_ic\_i is the color of the ii-th door from the left.

제한

NN is integer, (1N1051 \leq N \leq 10^5), ss consists of '0' and '1', s=2N1|s| = 2 N - 1.