var
s:string[201];
a:array[1..26] of byte;
p,i,j:integer;
begin
while (s[1]<>'*') do
begin
readln(s);
insert(' ',s,1);
for i:=1 to length(s) do
begin
p:=Pos(' ',s);
While p>0 do
begin
delete(s,p,1);
p:=Pos(' ',s);
end;
p:=Pos(' ',s);
While p>0 do
begin
p:=Pos(' ',s);
s[p]:='0';
a[Ord(s[p+1])-96]+=1;
end;
end;
end;
for i:=1 to 26 do
begin
if(a[i]<>0) then writeln(Chr(i+96),'-',a[i]);
end;
end.
dmFyIApzOnN0cmluZ1syMDFdOwphOmFycmF5WzEuLjI2XSBvZiBieXRlOwpwLGksajppbnRlZ2VyOwpiZWdpbgogCndoaWxlIChzWzFdPD4nKicpIGRvCmJlZ2luCnJlYWRsbihzKTsKaW5zZXJ0KCcgJyxzLDEpOwpmb3IgaTo9MSB0byBsZW5ndGgocykgZG8gCmJlZ2luCiAKcDo9UG9zKCcgICcscyk7CldoaWxlIHA+MCBkbyAKYmVnaW4KZGVsZXRlKHMscCwxKTsKcDo9UG9zKCcgICcscyk7CmVuZDsKIApwOj1Qb3MoJyAnLHMpOwpXaGlsZSBwPjAgZG8gCmJlZ2luCnA6PVBvcygnICcscyk7CnNbcF06PScwJzsKYVtPcmQoc1twKzFdKS05Nl0rPTE7CmVuZDsKIAplbmQ7CiAKZW5kOwogCmZvciBpOj0xIHRvIDI2IGRvIApiZWdpbgppZihhW2ldPD4wKSB0aGVuIHdyaXRlbG4oQ2hyKGkrOTYpLCctJyxhW2ldKTsKZW5kOwplbmQu