Лінії
Лінії
У таблиці з n рядків та n стовпчиків деякі клітинки зайняті кульками, інші вільні. Обрано кульку, яку потрібно перемістити, і місце, куди її слід перемістити. Обрана кулька за один крок переміщується у сусідню по горизонталі або вертикалі вільну клітинку. Потрібно вияснити, чи можливо перемістити кульку з початкової клітинки у задану, і якщо можливо, то знайти шлях з найменшою кількістю кроків.
Вхідні дані
У першому рядку знаходиться число n (2 ≤ n ≤ 40), в кожному з наступних n рядків - по n символів. Символом точки позначено вільну клітинку, латинською великою O - кульку, @ - початкове положення кульки, яка повинна переміститися, латинською великою X - кінцеве положення кульки.
Вихідні дані
У першому рядку виводиться Y, якщо переміщення можливе, або N, якщо ні. Якщо переміщення можливе далі слід вивести n рядків по n символів - як і на вході, але X, а також всі точки на шляху замінюються плюсами.
5 ....X .OOOO ..... OOOO. @....
Y +++++ +OOOO +++++ OOOO+ @++++
5 ..X.. ..... OOOOO ..... ..@..
N
5 ...X. ..... O.OOO ..... ....@
Y ..++. .++.. O+OOO .++++ ....@