ГлавнаяСборникиТурнирыРазделыФорумыУчастникиПечатьПомощьО системе

Сборники > C. T. 2011 > задача:


Огромная паркова

Задачи сборника

• Замок
• Лабиринт
• Лыжники
• Матрица
• Минимумы на отрезке
• Министерство правды
• Монеты и гнезда
• Мячик
• Огромная паркова
• Площади островов.
• Прогрессия
• Проходной балл
• Ситха джедай против
• Сортировка времени
• Треугольник2

Обратная связь

Если у вас есть предложения или пожелания по работе Contester, посетите форум сайта www.contester.ru.

Лимит времени 2000/2000/4000/4000 мс. Лимит памяти 265000/265000/65000/65000 Кб.

Problem description

Джон работает на огромной парковке. Парковка представляется собой прямоугольное поле n×m, разбитое на n × m квадратных позиций размера 1 × 1. Одну из угловых позиций занимает выезд с парковки.

Машин на парковке много и вывести машину не так уж просто. Единственное, что Джон может сделать — это переместить один из автомобилей на соседнюю позицию, если она свободна. Соседними считаются позиции, имеющие общую сторону. Однако задача усложняется наличием на парковке столбов. На позиции, где стоят столбы, нельзя поставить машину. Парковка вся занята машинами и столбами и единственное свободное место — выезд с парковки. Задача Джона — вывести с парковки один из автомобилей. Помогите ему узнать, какое минимальное число действий ему придется совершить.

Input

В первой строке входного файла два целых числа n и m (1 ≤ n,m ≤ 50) — размеры парковки. Далее следуют n строк по m символов в каждой. Символ «.» означает пустую позицию, единственная пустая позиция — выезд с парковки. Символ «#» означает столб. Столбы нельзя перемещать и на место столба нельзя ставить автомобили. Символ «c» означает автомобиль. Символ «X» — автомобиль, который необходимо вывести с парковки. Автомобиль считается выведенным, как только он достигает выезда с парковки. Гарантируется, что хотя бы одно из чисел n, m больше единицы и каждый из символов «.» и «X» встречается во входном файле ровно один раз. Символ «.» всегда располагается в верхнем левом углу парковки.

Output

Если машину вывести невозможно, выведите в выходной файл единственное слово «Impossible». Иначе в единственной строке выведите единственное число — минимальное количество действий для вывода автомобиля.

Example

stdin stdout

3 3
.#X
ccc
c#c

Impossible

2 3
.cX
ccc
7
Для отправки решений необходимо выполнить вход.

www.contester.ru