var f,g:text;
a:array[1..100] of string;
s:string;
b:array[1..100] of byte;
n,i,j:byte;
begin
assign(f,'input.txt');
reset(f);
assign(g,'output.txt');
rewrite(g);
n:=1;
readln(f,a[n]);//читаем первую строку
b[n]:=1;//1 раз
while not eof(f) do
begin
readln(f,s);//читаем остальные
i:=1;
j:=0;
while(i<=n)and (j=0) do //ищем строку в массиве
if s=a[i] then j:=i
else i:=i+1;
if j=0 then //если нет
begin
n:=n+1; //добавляем
a[n]:=s;
b[n]:=1; //1 раз
end
else b[j]:=b[j]+1;//если уже была, +1 в ее ячейку
end;
close(f);
for i:=1 to n do
writeln(g,a[i],' ',b[i]);
close(g);
end.