迷路を埋める

高さ h と幅 w のグリッド状の迷路が与えられます。この迷路では、床のセルがドット(.)で、壁のセルがハッシュ(#)で示されています。あなたのタスクは、指定された数 k の床のセルを壁としてマークすることです。ただし、残りの床セルが引き続き連結した領域を形成し、迷路内のどの部分も誤って切り離されないように注意してください。
初期状態の迷路では、床のセルがすべて連結していることが保証されています。

入力

入力の最初の行には、3つの整数 h, w (1 ≤ h, w ≤ 500) と k (0 ≤ k < n) が与えられます。ここで、n は初期状態の迷路に含まれる床のセルの総数を表します。

出力

初期状態における床のセルのうち、合計で k 個を壁としてマークし、迷路内に分断が生じない形で任意の迷路を出力してください。
新たに壁としてマークしたセルは、X という記号を用いて表します。

入力

5 4 5
#...
#.#.
.#..
...#
.#.#
出力


#XXX
#X#X
.#..
...#
.#.#

入力

3 4 2
#..#
..#.
#...
出力


#XX#
..#.
#...
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue