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.