คุณได้รับแผนที่ของที่ดินเปล่ากว้าง N หน่วย ยาว M หน่วย ที่ถูกแบ่งเป็นส่วนย่อย ๆ จำนวน N × M ส่วน แต่ละส่วนมีขนาด 1 × 1 หน่วย
แผนที่ดังกล่าวเขียนระบุลักษณะของดินในแต่ละส่วนย่อย โดยใช้สัญลักษณ์สองแบบ คือ ‘.’ ดินดีเหมาะสำหรับปลูกดอกไม้ และ ‘#’ ดินที่เต็มไปด้วยหิน ตัวอย่างของแผนที่กรณีที่ N = 4, M = 6 แสดงด้านล่าง
..#...
...##.
..#..#
.#...#
เราจะกล่าวว่าส่วนย่อยสองส่วนติดกัน ถ้าในแผนที่ส่วนย่อยทั้งสองอยู่ในแถวเดียวกันและอยู่ติดกัน หรืออยู่ในคอลัมน์เดียวกันของแถวที่ติดกัน (นั่นคือ เป็นส่วนย่อยที่ติดกันในทิศทาง บน ล่าง ซ้ายและขวา เท่านั้น)
คุณต้องการเลือกพื้นที่เพื่อสร้างสวนดอกไม้ โดยมีเงื่อนไขดังนี้ พื้นที่ดินที่จะสร้างเป็นสวนดอกไม้ได้จะต้องเป็นดินดี และไม่ติดกับดินส่วนที่เต็มไปด้วยหิน จากตัวอย่างข้างต้น พื้นที่ดินที่สร้างเป็นสวนดอกไม้ได้แสดงด้วยส่วนที่มีเครื่องหมาย @ ในรูปด้านล่าง
@.#..@
@@.##.
@.#..#
.#.@.#
คุณต้องการหาพื้นที่ที่เหมาะกับการสร้างสวนดอกไม้ที่อยู่ติดกันที่มีขนาดใหญ่ที่สุด ในตัวอย่างข้างต้น พื้นที่ดังกล่าวคือส่วนบนซ้าย ซึ่งมีขนาด 4 หน่วย
เขียนโปรแกรมรับแผนที่ จากนั้นคำนวณขนาดของพื้นที่ที่เหมาะสำหรับการสร้างสวนดอกไม้ที่มีขนาดใหญ่ที่สุด
บรรทัดแรกระบุจำนวนเต็มสองจำนวน N และ M (1 < N < 30; 1 < M < 30) แทนขนาดของที่ดิน จากนั้นอีก N บรรทัดจะระบุแผนที่ของที่ดินดังกล่าว กล่าวคือในบรรทัดที่ 1 + i จะระบุสตริงความยาว M ตัวอักษรแทนพื้นที่ดินในแถวที่ i สตริงดังกล่าวประกอบด้วยตัวอักษร ‘.’ และ ‘#’ เท่านั้น
มีหนึ่งบรรทัด เป็นจำนวนเต็มหนึ่งจำนวน แทนขนาดของพื้นที่ที่เหมาะสำหรับปลูกดอกไม้ที่มีขนาดใหญ่ที่สุด
ตัวอย่างข้อมูลนำเข้า | ตัวอย่างข้อมูลส่งออก |
4 6 ..#... ...##. ..#..# .#...# | 4 |