Robotų varžybos

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

Robotų varžyboms sukonstruota T skirtingo dydžio stačiakampių trasų-labirintų, padalintų į vienetinius kvadratėlius. Ant kai kurių kvadratėlių priklijuotos kvadratėlio dydžio plytelės (sienos) ir šiais kvadratėliais robotai judėti ar ant jų stovėti negali.

Varžybose dalyvauja kvadrato formos robotai galintys judėti tik keturiomis kryptimis lygiagrečiai trasos kraštinėms. Vieno varžybų etapo metu robotas pastatomas starto juostoje iš kairės, jis turi užvažiuoti ant tam etapui numatytos trasos iš kairiojo krašto, pervažiuoti labirintą (nebūtinai trumpiausiu keliu) ir išvažiavęs pro dešinįjį kraštą pasiekti finišo juostą.

Etapą laimi dalyvis, kurio užduotį įveikęs robotas yra didžiausias (t. y. kurio kvadrato formos roboto kraštinė bus ilgiausia).

Varžybų organizatoriai nori prieš pat varžybas patikrinti trasas ir sužinoti, kokio dydžio robotai turės būti konstruojami varžyboms. Parašykite programą, kuri žinodama kiekvienos trasos planą, apskaičiuotų koks turėtų būti didžiausias galimas roboto kraštinės ilgis tai trasai.

입력

Pirmoje eilutėje pateiktas trasų skaičius T.

Toliau pateikti T trasų duomenys: i-ąįą trasą aprašančioje pirmoje eilutėje pateiktas jos plotis ni ir ilgis mi . Tolesnėse ni eilučių pateikiama po mi simbolių, aprašančių i-ąją trasą:

  • . žymi tuščią langelį, kuriuo gali judėti robotas,
  • # žymi užimtą langelį – sieną.

Visų trasų viršutinę ir apatinę eiles sudaro tik užimti langeliai.

출력

Išveskite T eilučių, kuriose būtų po vieną sveikąjį skaičių: i-ojoje eilutėje išveskite didžiausią kvadrato kraštinės ilgį ai , tokį, kad šio dydžio robotas galėtų įveikti i-ąją trasą.

제한

  • 1 ≤ T ≤ 5
  • 3 ≤ ni ≤ 500
  • 1 ≤ mi ≤ 500
  • Bendras langelių skaičius (sandaugų nimi suma visiems 1 ≤ i ≤ T) neviršija 250 000.