Задача №115000. Набор текста

Стас пишет письмо создателям своей любимой игры. Он пользуется простым текстовым редактором и печатает в обычной QWERTY-раскладке.

В тексте Стас использует строчные и заглавные буквы английского алфавита, цифры, символы «,», «.», «!», «?», «$», «(» и «)», а также пробелы. Его текстовый редактор позволяет только дописывать в конец текущего сообщения по одному символу, нажимая на соответствующие клавиши на клавиатуре. Даже если Стас хочет набрать несколько одинаковых символов подряд, ему придется нажимать на клавишу заново для каждого символа. Помимо клавиш, соответствующих набираемым символам, Он использует только клавишу shift, когда это необходимо для набора очередного символа. Среди используемых им символов, shift должен быть нажат, чтобы набрать заглавные буквы и символы «!», «?», «$», «(» и «)». Пробел может быть набран как с нажатой клавишей shift, так и без неё. А во время набирания всех остальных символов, клавиша shift должна быть не нажата.

Стас очень спешит, поэтому хочет набрать сообщение, нажав на клавиши минимальное количество раз. Для экономии времени, он может нажать клавишу shift, набрать несколько символов, и только затем отпустить её — это будет считаться одним нажатием клавиши shift. Помогите Стасу определить минимальное количество нажатий на клавиши, которое ему придется сделать.

Входные данные

В первой строке дано одно целое число \(n\) — число символов в тексте письма Стаса (\(1 \le n \le 10\,000\)).

Во второй строке дана строка длины \(n\), состоящая из строчных и заглавных букв английского алфавита, цифр, символов «,», «.», «!», «?», «$», «(», «)» и пробелов.

Выходные данные

Выведите одно число — минимальное количество нажатий на клавиши, которое придется сделать Стасу.

Система оценки

Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.

Подзадача Баллы Ограничения Необходимые подзадачи Информация о проверке
1 33 Текст содержит только буквы полная
2 33 В тексте нет пробелов 1 первая ошибка
3 34 Без дополнительных ограничений 1, 2 первая ошибка

Примеры
Входные данные
6
Privet
Выходные данные
7
Входные данные
16
Dorogiye armyane
Выходные данные
17
Входные данные
32
You owe me $100 (Im looking 4 u)
Выходные данные
36
Входные данные
8
Mm? Okay
Выходные данные
10
Сдать: для сдачи задач необходимо войти в систему