Кріт
Після важкого дослідження Антон вирішив відпочити на своїй дачі. У нього там є прекрасний сад з багатьма різними квітами. Але от халепа, по приїзду він побачив значну кількість дірок в землі. Це кріт!
Тепер, озброївшись лопатою, Антон чекатиме на крота. Кріт може вилізти в будь-якій дірці. Антон хоче вибрати позицію так, щоб в найгіршому випадку він біг до крота мінімальну кількість часу.
Сад можна представити як матрицю , де — це кількість рядків, а — кількість стовпців. Рядки нумеруються зверху вниз від до . Стовпці нумеруються зліва направо від до . Тобто, клітинка з індексом знаходиться в лівому верхньому куті.
Кожна клітинка саду описує стан цієї клітинки:
= «
.
» — ця клітинка не містить квіт та дірок;= «
F
» — ця клітинка містить квіти;= «
H
» — ця клітинка містить дірку.
Антон також знає, що кількість дір не перевищує .
Як людина, яка вклала багато часу в ці квіти, ваше серце не зможе винести топтання квітів. Тому Вам треба прокладати шлях таким чином, щоб він не проходив через них.
За один момент часу Антон може переміститися з позиції у будь-яку з наступних позицій: , , , за умов, що нова позиція не містить квітів та знаходиться всередині саду.
Знайдіть всі позиції (), з яких Антон буде бігти до кротів в найгіршому випадку мінімальну кількість часу.
Вхідні дані
Перший рядок містить два цілі числа , () — довжина і ширина саду.
Наступні рядків містять по символів кожен — опис саду.
Гарантується, що з кожної клітинки, що не містить квіти, можна дістатися до будь-якої іншої клітинки, що не містить квіти, рухаючись по клітинках, що не містять квіти.
Гарантується, що існує хоча б одна дірка, і кількість дірок в саду не перевищує .
Вихідні дані
У першому рядку виведіть одне ціле число () — кількість оптимальних позицій.
У кожному з наступних рядків виведіть оптимальні позиції () для чекання крота (, ).
Позиції можна виводити у будь-якій послідовності.
Приклади
Примітка
Вище наведено перший приклад і відмічено оптимальні позиції для очікування.
Оцінювання
Нехай — кількість дірок в саду.
( балів): ;
( балів): ;
( балів): ;
( бали): ;
( балів): ;
( бал): без додаткових обмежень.