AT_abc401_d [ABC401D] Logical Filling
Description
You are given a string $ S $ of length $ N $ consisting of the characters `.`, `o`, and `?`. Among the strings that can be obtained by replacing every `?` in $ S $ independently with either `.` or `o`, let $ X $ be the set of strings that satisfy all of the following conditions:
- The number of `o`s is exactly $ K $ .
- No two `o`s are adjacent.
It is guaranteed that $ X $ is non‑empty.
Print a string $ T $ of length $ N $ that satisfies the following (let $ T_i $ denote the $ i $ ‑th character of $ T $ ):
- If the $ i $ ‑th character of every string in $ X $ is `.`, then $ T_i= $ `.`.
- If the $ i $ ‑th character of every string in $ X $ is `o`, then $ T_i= $ `o`.
- If $ X $ contains both a string whose $ i $ ‑th character is `.` and a string whose $ i $ ‑th character is `o`, then $ T_i= $ `?`.
Input Format
The input is given from Standard Input in the following format:
> $ N $ $ K $ $ S $
Output Format
Print the answer.
Explanation/Hint
### Sample Explanation 1
The set $ X $ consists of the two strings `o.o.` and `o..o`.
- The 1st character of every string in $ X $ is `o`, so $ T_1 $ is `o`.
- The 2nd character of every string in $ X $ is `.`, so $ T_2 $ is `.`.
- The 3rd character of a string in $ X $ can be either `.` or `o`, so $ T_3 $ is `?`.
### Constraints
- $ 1 \le N \le 2 \times 10^{5} $
- $ 0 \le K $
- $ S $ is a string of length $ N $ consisting of `.`, `o`, `?`.
- $ X $ is non‑empty.
- All given numerical values are integers.