AT_abc425_b [ABC425B] Find Permutation 2
Description
長さ $ N $ の整数列 $ A=(A_1,A_2,\ldots,A_N) $ が与えられます。ここで、 $ A $ の各要素は $ -1 $ または $ 1 $ 以上 $ N $ 以下の整数です。
以下の条件を全て満たす長さ $ N $ の整数列 $ P=(P_1,P_2,\ldots,P_N) $ が存在するか判定し、存在するならば一つ求めてください。
- $ P $ は $ (1,2,\ldots,N) $ を並び替えてできる整数列である。
- $ i=1,2,\ldots,N $ に対し、 $ A_i \neq -1 $ ならば $ P_i=A_i $ が成り立つ。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $
Output Format
条件を全て満たす $ P $ が存在しない場合は `No` と出力せよ。
そうでない場合、条件を全て満たす $ P $ を以下の形式で出力せよ。
> Yes $ P_1 $ $ P_2 $ $ \ldots $ $ P_N $
条件を全て満たす $ P $ が複数存在する場合、どれを出力しても正答となる。
Explanation/Hint
### Sample Explanation 1
$ P=(3,1,2,4) $ とすると条件を全て満たします。
このほかにも、 $ P=(1,3,2,4) $ や $ P=(4,3,2,1) $ なども条件を全て満たします。
### Sample Explanation 2
条件を全て満たす $ P $ は存在しません。
### Constraints
- $ 1\le N\le 10 $
- $ A_i=-1 $ または $ 1\le A_i \le N $
- 入力される値は全て整数