Геймери
Як вам, напевно, відомо, вулиці та перехрестя Бухареста утворюють ідеальну сітку. Можливо, ви не знаєте, що на кожному з цих перехресть розташований рівно один ігровий клуб і рівно один геймер. Кожен ігровий клуб пропонує лише одну гру. Геймери також мають свої особливості, але зазвичай дотримуються простих правил:
Геймер ніколи не грає в клубі на своєму власному перехресті. Ніколи!!!
Протягом дня кожен геймер повинен зіграти в кожну з ігор, якщо це не суперечить Правилу 1.
Геймери переміщуються з одного перехрестя на інше лише по горизонталях або вертикалях.
Геймер не може йти безпосередньо з одного клубу в інший. Він повинен повернутися додому, щоб щось з'їсти, і закінчити день на своєму перехресті.
Геймер повинен жити оптимально, завжди обираючи найкращу стратегію для виконання вищезазначених правил, щоб у нього залишалося достатньо часу для ігор.
Враховуючи, що всі геймери однакові, Асоціація Комп'ютерних Маніяків вирішила, що місто має бути оптимізоване для мінімізації загальних зусиль, не пов'язаних з іграми. Зусилля, не пов'язані з іграми, — це кількість перехресть, які геймер проходить протягом дня. Загальні зусилля, не пов'язані з іграми, — це сума зусиль, не пов'язаних з іграми, для всіх геймерів у місті. Для виконання оптимізації ACM потрібна програма, яка обчислює загальні зусилля, не пов'язані з іграми, для заданого опису міста.
Вхідні дані
Кілька описів міста подано у стандартному вхідному файлі. Кожен з них починається з рядка з двома цілими числами R та C (1 ≤ R, C ≤ 1000), що позначають кількість рядків і кількість стовпців перехресть у місті. Далі йдуть R рядків з C символів, що позначають вид гри, яку пропонує клуб на кожному з перехресть. Кожна гра кодується за допомогою однієї цифри ('0' до '9').
Вихідні дані
Для кожного з описів міста програма повинна записати в окремий рядок стандартного виходу рядок, що містить одне ціле число — загальні зусилля, не пов'язані з іграми, для міста.