program rollercoaster3;
var N,K,i,countH, speed :int64;
S : Ansistring;
roller : array[1..100] of int64;
section : array [1..4] of Longint;
begin
(*assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output);*)
ReadLn(N);
ReadLn(S);
K := 0; countH:=0; speed:=0;
{ INSERT YOUR CODE HERE }
if S[1]='U' then begin K:=-1; WriteLn(K); exit; end;
for i:=1 to 4 do section[i]:=0;
for i:=1 to N do
Case S[i] of
'D' : begin roller[i]:=9; section[1]:=section[1]+1; end;
'U' : begin roller[i]:=-11; section[2]:=section[2]+1; end;
'H' : begin roller[i]:=0; section[3]:=section[3]+1; end;
'B' : begin roller[i]:=10; section[4]:=section[4]+1; end;
end;
for i:=1 to N do
begin
if S[i]='H' then countH:=countH+1;
speed:=speed+roller[i];
if speed<=0 then
begin
if countH>0 then
begin
countH:=countH-1;
speed:=speed + 10;
if ((speed<=0) and ((countH<=0) or (i=N))) then begin K:=-1; WriteLn(K); exit; end;
K:=K+1;
end
else begin K:=-1; WriteLn(K); exit; end;
end;
end;
for i:=1 to 4 do write(section[i],' '); writeln;
WriteLn(K);
end.
cHJvZ3JhbSByb2xsZXJjb2FzdGVyMzsKdmFyIE4sSyxpLGNvdW50SCwgc3BlZWQgOmludDY0OwogICAgUyA6IEFuc2lzdHJpbmc7CiAgICByb2xsZXIgOiBhcnJheVsxLi4xMDBdIG9mIGludDY0OwogICAgc2VjdGlvbiA6IGFycmF5IFsxLi40XSBvZiBMb25naW50OwogICAKYmVnaW4KICAgICgqYXNzaWduKGlucHV0LCAgJ2lucHV0LnR4dCcpOyAgcmVzZXQoaW5wdXQpOwogICAgYXNzaWduKG91dHB1dCwgJ291dHB1dC50eHQnKTsgcmV3cml0ZShvdXRwdXQpOyopCgogICAgUmVhZExuKE4pOwoKICAgIFJlYWRMbihTKTsKICAgIEsgOj0gMDsgY291bnRIOj0wOyBzcGVlZDo9MDsgCgogICAgeyBJTlNFUlQgWU9VUiBDT0RFIEhFUkUgfQogICAgaWYgU1sxXT0nVScgdGhlbiBiZWdpbiBLOj0tMTsgV3JpdGVMbihLKTsgZXhpdDsgZW5kOyAKICAgIGZvciBpOj0xIHRvIDQgZG8gc2VjdGlvbltpXTo9MDsgIAogICAgZm9yIGk6PTEgdG8gTiBkbyAKICAgICAgICAgICAgICAgICAgICAgICBDYXNlIFNbaV0gb2YgIAoJCQkJJ0QnIDogYmVnaW4gcm9sbGVyW2ldOj05OyBzZWN0aW9uWzFdOj1zZWN0aW9uWzFdKzE7IGVuZDsKCQkJCSdVJyA6IGJlZ2luIHJvbGxlcltpXTo9LTExOyAgc2VjdGlvblsyXTo9c2VjdGlvblsyXSsxOyBlbmQ7IAoJCQkJJ0gnIDogYmVnaW4gcm9sbGVyW2ldOj0wOyAgIHNlY3Rpb25bM106PXNlY3Rpb25bM10rMTsgZW5kOyAKCQkgICAgICAgICAgICAgICAgJ0InIDogYmVnaW4gIHJvbGxlcltpXTo9MTA7ICBzZWN0aW9uWzRdOj1zZWN0aW9uWzRdKzE7IGVuZDsKICAgICAgICAgICAgICAgICAgICAgIGVuZDsKICAgIGZvciBpOj0xIHRvIE4gZG8gCiAgICAgICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICBpZiBTW2ldPSdIJyB0aGVuIGNvdW50SDo9Y291bnRIKzE7ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgc3BlZWQ6PXNwZWVkK3JvbGxlcltpXTsgCiAgICAgICAgICAgICAgICAgICAgICAgaWYgc3BlZWQ8PTAgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNvdW50SD4wIHRoZW4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudEg6PWNvdW50SC0xOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlZWQ6PXNwZWVkICsgMTA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHNwZWVkPD0wKSBhbmQgKChjb3VudEg8PTApIG9yIChpPU4pKSkgdGhlbiBiZWdpbiBLOj0tMTsgV3JpdGVMbihLKTsgZXhpdDsgZW5kOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSzo9SysxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgIGJlZ2luIEs6PS0xOyBXcml0ZUxuKEspOyBleGl0OyBlbmQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kOyAgCiAgICAgICAgICAgICAgICAgICAgZW5kOyAgCiAgIGZvciBpOj0xIHRvIDQgZG8gd3JpdGUoc2VjdGlvbltpXSwnICcpOyB3cml0ZWxuOwogIFdyaXRlTG4oSyk7ICAgICAKZW5kLg==