#0001B8

Guliver

Guliver se probudio na otoku okružen malim Liliputancima. Nakon uvodnog natezanja, Liliputanci mu pričaju o svojoj svañi s Blefuščanima, koji žive na susjednom otoku. Malo je poznato da su Liliputanci i Blefuščani jednom živjeli na istom otoku. Nakon što je netko skuhao jaje, uslijedila je svaña oko toga s koje strane ga pojesti. Svaña je poprimila tolike razmjere da su dva naroda odlučila razdvojiti otok, i to na sjevernu i južnu stranu. Začudo, otok je bio pravokutnog oblika te je bio podijeljen u R×S parcela. Neke parcele na otoku su bile potopljene vodom, a stanovnici su odlučili potopiti još neke parcele, i to tako da se nakon potapanja otok razdvoji na barem dva dijela, od kojih jedan dio sadrži cijeli najgornji red (u kojem su nastambe Liliputanaca), a neki drugi cijeli najdonji red (u kojem su nastambe Blefuščana). Dvije nepotopljene parcele pripadaju istom dijelu otoka ako se može doći od jedne do druge pomoću niza koraka, svaki u jednom od četiri glavna smjera (gore, dolje, lijevo, desno), bez da se smoče noge.Povijesni problem o kojem se priča već naraštajima jest koliko je najmanje parcela bilo potrebno potopiti kako bi se otoci razdvojili na opisani način. Napišite program koji računa taj broj.


InputU prvom redu nalaze se dva prirodna broja R i S (3 ≤ R ≤ 1000, 1 ≤ S ≤ 1000), broj redova i stupaca od kojih se sastojao otok. U svakom od sljedećih R redova nalazi se niz od S znakova '.' ili '#', čime je opisan izgled otoka prije rastavljanja. Potopljene parcele su označene ljestvama ('#').
Ulazni podaci će biti takvi da se sve nepotopljene parcele drže zajedno. U najgornjem i najdonjem redu neće biti nijedne potopljene parcele.

OutputU prvi i jedini red ispišite najmanji broj parcela koje je dodatno potrebno potopiti.


ulaz
4 5
.....
..#..
.#..#
.....

izlaz
2

Submit solution

Coming later

The grading service will be connected in a later migration step. You can inspect the task and your previous results now.