UCPC王国には、王国全体を巡ることができる $N$ 個の区間からなる円形の観光コースがある。各区間には次の区間へ移動できるシャトルバスが1台あり、$1 \leq i < N$ については $i$ 番目の区間から $i+1$ 番目の区間へ、$N$ 番目の区間からは $1$ 番目の区間へ移動できる。
北極から来た $N$ 人の観光客が、この観光コースを利用してUCPC王国を巡る予定である。$i$ 番目の観光客は $i$ 番目の区間から開始し、シャトルバスに乗って合計 $N$ 個の区間を観光する。
各区間は雪原か砂漠のいずれかである。各観光客は好感度 $1$ を持って開始地点から観光を始め、雪原区間を通過するたびに好感度が $1$ 増加し、砂漠区間を通過するたびに好感度が $1$ 減少する。各観光客は観光の途中で好感度が $0$ になった瞬間に観光を中止し、自分の国へ帰ってしまう。観光コースの $N$ 個の区間をすべて巡り終えた時点で好感度が $1$ 以上であれば、その観光客はUCPC王国の高価な記念品を購入して自分の国へ帰る。
北極に住むあなたは、各観光客の記念品購入の有無を知っている。この情報を活用して、UCPC王国の観光コースの構造を突き止めなければならない。$1$ 番から $N$ 番までの観光客の記念品購入の有無が与えられたとき、可能な観光コースの構造を一つ出力せよ。
入力
1行目に観光コースの区間数 $N$ が与えられる。$(1\leq N\leq 500\,000)$
2行目に $i$ 番目の観光客の記念品購入の有無を表す長さ $N$ の文字列が与えられる。$i$ 番目の文字は $i$ 番目の観光客の購入状況を表し、記念品を購入した場合は O、購入しなかった場合は X である。
出力
与えられた入力に対して可能なUCPC王国の観光コースが存在する場合、1行目に YES を出力し、2行目に長さ $N$ の文字列を出力せよ。$i$ 番目の文字には、$i$ 番目の区間が雪原であれば +、砂漠であれば - を出力せよ。
与えられた入力に対して可能な観光コースが存在しない場合、1行目に NO を出力せよ。
入出力例
入力 1
5 OXOXO
出力 1
YES +-+-+
入力 2
6 XXXXXX
出力 2
YES +--+--
入力 3
5 XXXOX
出力 3
NO