Задача D. Текстовый редактор

Автор:И. Туфанов   Ограничение времени:2 сек
Входной файл:input.txt   Ограничение памяти:8 Мб
Выходной файл:output.txt  

Условие

Начинающий программист Билл написал свою первую программу — текстовый редактор. Теперь его интересует вопрос, сколько нажатий клавиш потребуется пользователю, чтобы перевести курсор в любую позицию внутри текста.

Текст, с которым работает редактор Билла, представляет собой набор строк. Строки состоят из печатных символов (с ASCII-кодами больше 32) и пробелов. Строка никогда не начинается пробелом и не заканчивается им. Слово — это часть строки, не содержащая пробелов и ограниченная слева и справа пробелами или концами строки. Пользователь может перемещать курсор с помощью восьми операций:

Любая операция, кроме двух последних, требует одного нажатия на клавишу. Перемещение на слово влево и на слово вправо требует двух нажатий (Ctrl+left, Ctrl+right).

Формат входного файла

Первая строка входного файла содержит целые числа R C — номер текущей строки и номер символа в текущей строке соответственно. Все остальные строки содержат текст, загруженный в редактор.

Формат выходного файла

Выходной файл должен содержать единственное число: наименьшее значение N, такое, что количество нажатий клавиш, необходимое для перевода из текущей позиции в любую другую позицию текста не превосходит N.

Ограничения

Размер текста во входном файле не превосходит 2000 байт. Входной файл не содержит пустых строк.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
3 10
ababaca baca
abcde
ab abc abcde
5
2
1 1
begin write(a+b); end.
8

0.074s 0.008s 15