Задачи
Сколько же переменных?
Сколько же переменных?
Маленький мальчик Петя очень любит программировать на языке Паскаль. К сожалению, в последнее время он стал замечать, что использует слишком много переменных. Так много, что сам не может толком сосчитать, сколько же в каждой программе их используется.
Поэтому он просит вас написать программу, которая поможет ему в этом нелегком деле.
Так как Петя еще не очень хорошо знает Паскаль, то использует он только четыре стандартных типа: \textbf{boolean}, \textbf{char}, \textbf{double}, \textbf{integer}.
\InputFile
Во входном файле содержится несколько строк с объявлениями переменных. Каждая строка входного файла является объявлением переменных одного типа. Все объявления являются корректными с точки зрения синтаксиса языка Паскаль, названия переменных не повторяются, при объявлении используются только стандартные типы: \textbf{boolean}, \textbf{char}, \textbf{double}, \textbf{integer}.
Формально каждое объявление имеет следующий вид:
\textbf{< идентификатор > \{',' < идентификатор >\} ':' < тип > ';'}
где \textbf{< тип >} - это одна из строк \textbf{boolean}, \textbf{char}, \textbf{double}, \textbf{integer}; \textbf{< идентификатор >} - строка, состоящая из букв, цифр или символов '\textbf{_}' и начинающаяся с буквы или символа '\textbf{_}'.
Строки \textbf{< тип >} и \textbf{< идентификатор >}, а также символы '\textbf{:}' и '\textbf{;}' и '\textbf{,}' являются неделимыми элементами, между которыми (а также до и после них) может находиться произвольное число пробелов.
Гарантируется, что во входном файле количество строк - не более \textbf{100}, в каждой строке не более \textbf{20 }переменных, и название каждой переменной не длинее \textbf{1000} символов.
\OutputFile
В выходной файл необходимо вывести четыре строки, в следующем формате:
\textbf{boolean: < количество обявленных переменных типа boolean >}
\textbf{char: <количество обявленных переменных типа char>}
\textbf{double: <количество обявленных переменных типа double>}
\textbf{integer: <количество обявленных переменных типа integer>}
Обратите внимание, что между двоеточием и числом переменных должен быть выведен один пробел.
Входные данные #1
i, j, k : integer ; flag: boolean; length: integer; c1, c2: char; c3: char;
Выходные данные #1
boolean: 1 char: 3 double: 0 integer: 4