Trên bảng ô vuông kích thước ~h \times w~ được chia thành các ô vuông con bởi các đoạn thẳng, ở một số ô có các đường tròn đường kính 1 chạm vào 4 cạnh của ô vuông đó. Cho biết rằng mỗi ô vuông như vậy có độ dài 10. Có một con kiến bò từ góc góc Tây Bắc đến góc Đông Nam và con kiến chỉ được bò trên các đoạn thẳng hoặc trên đường tròn, không được bò ra phía ngoài. Yêu cầu tìm độ dài của con đường ngắn nhất từ vị trí bắt đầu đến vị trí kết thúc.
Input
Dòng đầu tiên gồm hai số nguyên ~h~ và ~w~ với ~1≤h,w≤700~), số hàng và số cột của bảng ô vuông (mỗi ô vuông độ dài 10).
Trong ~h~ dòng tiếp theo, mỗi dòng gồm có ~w~ kí tự, trong đó: ~O~ biểu thị cho hình tròn tròn và kí tự ~X~ biểu thị ô trống.
Output:
In ra chiều dài của đường đi ngắn nhất từ góc trên bên trái xuống góc dưới bên phải. Câu trả lời của bạn được coi là đúng nếu sai số tương đối là ~10^{-10}.~ Chú ý, do không có checker nên HS dùng long double để tính toán cho chính xác và in ra đủ 10 chữ số thập phân.
Sample input
3 5
XOOXO
OXOXO
XXXXO
Sample output
71.4159265359
* Giải thích*
Hình vẽ ở trên mô tả cho test ví dụ và đường đi ngắn nhất cần dùng.
Ràng buộc
- Subtask 1: ~hw≤100~
- Subtask 2: ~hw≤1000~
- Subtask 3: Không có ràng buộc nào thêm.
Comments