program RLE;
uses crt;
var s : string; j : byte;
procedure count(s : string; var i : byte);
begin
if i = 1 then exit
else if s[i] <> s[i-1]
then begin
count(s, i - j);
writeln(s[i],' : ', j);
end
else begin
count(s, i - 1);
j := succ(j);
end;
end;
begin
j := 1;
readln(s);
count(s, length(s));
readln;
end.
cHJvZ3JhbSBSTEU7CnVzZXMgY3J0OwoKdmFyIHMgOiBzdHJpbmc7IGogOiBieXRlOwoJCnByb2NlZHVyZSBjb3VudChzIDogc3RyaW5nOyB2YXIgaSA6IGJ5dGUpOwogICAgYmVnaW4KICAgICAgaWYgaSA9IDEgdGhlbiBleGl0CiAgICAgIGVsc2UgaWYgc1tpXSA8PiBzW2ktMV0KCSAgIHRoZW4gYmVnaW4KCQkgIGNvdW50KHMsIGkgLSBqKTsKCQkgIHdyaXRlbG4oc1tpXSwnIDogJywgaik7CgkJZW5kCgkgICBlbHNlIGJlZ2luCgkJICBjb3VudChzLCBpIC0gMSk7CgkJICBqIDo9IHN1Y2Moaik7CgkJZW5kOwogICAgZW5kOwoKYmVnaW4KICBqIDo9IDE7CiAgcmVhZGxuKHMpOwogIGNvdW50KHMsIGxlbmd0aChzKSk7CiAgcmVhZGxuOwplbmQu