Олимпиадный тренинг

Задача . B. Баян


— Почему они постоянно пишут, что задачи, которые я придумываю, — баяны? Да они настоящего баяна не видели!
BledDest

Баян — это строка (да, в реальном мире баяны — это музыкальные инструменты, но давайте на время забудем об этом), являющаяся конкатенацией следующих символов: открывающей квадратной скобки (ASCII код этого символа — \(091\)), двоеточия (ASCII код — \(058\)), нескольких (возможно, ни одного) символов вертикальной черты (ASCII код — \(124\)), еще одного двоеточия и закрывающей квадратной скобки (ASCII код — \(093\)). Длина баяна — это количество символов в нем.

Например, [::], [:||:] и [:|||:] — баяны длины \(4\), \(6\) и \(7\), соответственно. (:|:), {:||:}, [:], ]:||:[ баянами не являются.

Вам дана строка \(s\). Вы хотите превратить ее в баян удалением нескольких (возможно, ни одного) символов из нее. Обратите внимание, что вставлять новые символы или менять порядок существующих нельзя. Можно ли превратить \(s\) в баян такими операциями, и если да, то какая может быть максимальная длина получившегося баяна?

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

Во входных данных записана строка \(s\) (\(1 \le |s| \le 500000\)). Она состоит из строчных букв латинского алфавита, а также символов [, ], : и |.

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

Если невозможно преобразовать \(s\) в баян удалением символов, выведите \(-1\). Иначе выведите максимально возможную длину баяна, который можно получить.


Примеры
Входные данныеВыходные данные
1 |[a:b:|]
4
2 |]:[|:]
-1

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя