AT_abc401_d [ABC401D] Logical Filling
Description
`.`, `o`, `?` のみからなる長さ $ N $ の文字列 $ S $ が与えられます。 全ての `?` をそれぞれ `.` または `o` で置き換えて得られる文字列のうち、以下の条件を全て満たすものの集合を $ X $ とします。
- `o` の個数がちょうど $ K $ 個
- `o` が連続しない
$ X $ が空集合でないことは保証されます。
以下を満たす、長さ $ N $ の文字列 $ T $ を出力して下さい。ここで、 $ T $ の左から $ i $ 番目の文字を $ T_i $ と表記します。
- $ X $ に含まれる全ての文字列の $ i $ 文字目が `.` である場合: $ T_i= $ `.`
- $ X $ に含まれる全ての文字列の $ i $ 文字目が `o` である場合: $ T_i= $ `o`
- $ i $ 文字目が `.` である文字列も `o` である文字列も $ X $ に含まれている場合: $ T_i= $ `?`
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ K $ $ S $
Output Format
答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
`o.o.` と `o..o` の二つの文字列から $ X $ はなります。
$ X $ に含まれる全ての文字列の $ 1 $ 文字目は `o` なので、 $ T_1 $ は `o` です。
$ X $ に含まれる全ての文字列の $ 2 $ 文字目は `.` なので、 $ T_2 $ は `.` です。
$ X $ に含まれる文字列の $ 3 $ 文字目としては `.` も `o` も考えられるので、 $ T_3 $ は `?` です。
### Constraints
- $ 1\leq N\leq 2\times 10^5 $
- $ 0\leq K $
- $ S $ は `.`, `o`, `?` のみからなる長さ $ N $ の文字列
- $ X $ は空集合ではない
- 入力される数値は全て整数