## Bucket fill icon
Naprogramujte záplavový algoritmus!

Abychom všechno zjednodušili, nebudeme pracovat s opravdovým obrázkem, ale s textovým souborem bitmap.in. Ten bude obsahovat na prvních třech řádcích následující informace:

1. Číslo N udávající rozměr čtvercové bitmapy (maximálně 80)
2. Znak C který udává výplňovou barvu. Vždy to bude tisknutelný a "viditelný" znak (nikdy to nebude mezera, TAB, nebo znak konce řádku apod.).
3. Počáteční souřadnice, kde se má začít s vybarvováním: čísla X (řádek) a Y (sloupec) oddělená mezerou. Počátkem souřadné soustavy je přitom levý horní roh: [X,Y] = [1,1].

Na dalších N řádcích bude vždy řetězec N tisknutelných znaků reprezentující řádek naši bitmapy.

Úkolem programu je vybarvit největší souvislou plochu stejné "barvy", která obsahuje "pixel" [X,Y], barvou C a vytisknout na standartní výstup výslednou bitmapu.

Souvislou plochu přitom definujeme rekurzivně:

1. Jeden pixel sám o sobě je souvislá plocha.
2. Pokud nějaký pixel A sousedí se souvislou plochou S a má stejnou barvu jako S, potom {množina pixelů obsažených v S} sjednocená s {A} (tj. s tímto pixelem) je také souvislá plocha.

Dva pixely [a,b] a [c,d] spolu sousedí právě tehdy, když:
```
((a=c) and (|b-d|=1)) or ((b=d) and (|a-c|=1))
```
### Příklad 1:

vstup:
```
5
X
2 3
OOOOO
O###O
#OOO#
O#O#O
OO#OO
```

výstup:

```
OOOOO
OXXXO
#OOO#
O#O#O
OO#OO
```

### Příklad 2:

vstup:

```
5
+
1 1
*-*-*
-*-*-
*-*-*
-*-*-
*-*-*
```

výstup:

```
+-*-*
-*-*-
*-*-*
-*-*-
*-*-*
```

### Příklad 3:

vstup:

```
5
*
5 5
#.#..
#.#..
...##
.#...
.###.
```

výstup:

```
#*#..
#*#..
***##
*#***
*###*
```