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) and (i=N))) then begin K:=-1; WriteLn(K); exit; end;
K:=K+1;
end
else begin K:=-1; WriteLn(K); exit; end;
end;
end;
WriteLn(K);
end.
cHJvZ3JhbSByb2xsZXJjb2FzdGVyMzsKdmFyIE4sSyxpLGNvdW50SCwgc3BlZWQgOmludDY0OwogICAgUyA6IEFuc2lzdHJpbmc7CiAgICByb2xsZXIgOiBhcnJheVsxLi4xMDBdIG9mIGludDY0OwogICAgIHNlY3Rpb24gOiBhcnJheSBbMS4uNF0gb2YgTG9uZ2ludDsKICAgCmJlZ2luCiAgICAoKmFzc2lnbihpbnB1dCwgICdpbnB1dC50eHQnKTsgIHJlc2V0KGlucHV0KTsKICAgIGFzc2lnbihvdXRwdXQsICdvdXRwdXQudHh0Jyk7IHJld3JpdGUob3V0cHV0KTsqKQoKICAgIFJlYWRMbihOKTsKCiAgICBSZWFkTG4oUyk7CiAgICBLIDo9IDA7IGNvdW50SDo9MDsgc3BlZWQ6PTA7IAoKICAgIHsgSU5TRVJUIFlPVVIgQ09ERSBIRVJFIH0KICAgIGlmIFNbMV09J1UnIHRoZW4gYmVnaW4gSzo9LTE7IFdyaXRlTG4oSyk7IGV4aXQ7IGVuZDsgCiAgICBmb3IgaTo9MSB0byA0IGRvIHNlY3Rpb25baV06PTA7ICAKICAgIGZvciBpOj0xIHRvIE4gZG8gCiAgICAgICAgICAgICAgICAgICAgICAgQ2FzZSBTW2ldIG9mICAKCQkJCSdEJyA6IGJlZ2luIHJvbGxlcltpXTo9OTsgc2VjdGlvblsxXTo9c2VjdGlvblsxXSsxOyBlbmQ7CgkJCQknVScgOiBiZWdpbiByb2xsZXJbaV06PS0xMTsgIHNlY3Rpb25bMl06PXNlY3Rpb25bMl0rMTsgZW5kOyAKCQkJCSdIJyA6IGJlZ2luIHJvbGxlcltpXTo9MDsgICBzZWN0aW9uWzNdOj1zZWN0aW9uWzNdKzE7IGVuZDsgCgkJICAgICAgICAgICAgICAgICdCJyA6IGJlZ2luICByb2xsZXJbaV06PTEwOyAgc2VjdGlvbls0XTo9c2VjdGlvbls0XSsxOyBlbmQ7CiAgICAgICAgICAgICAgICAgICAgICBlbmQ7CiAgICBmb3IgaTo9MSB0byBOIGRvIAogICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgaWYgU1tpXT0nSCcgdGhlbiBjb3VudEg6PWNvdW50SCsxOyAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgIHNwZWVkOj1zcGVlZCtyb2xsZXJbaV07IAogICAgICAgICAgICAgICAgICAgICAgIGlmIHNwZWVkPD0wIHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBjb3VudEg+MCB0aGVuIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnRIOj1jb3VudEgtMTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWVkOj1zcGVlZCArIDEwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChzcGVlZDw9MCkgYW5kICgoY291bnRIPD0wKSBhbmQgKGk9TikpKSB0aGVuIGJlZ2luIEs6PS0xOyBXcml0ZUxuKEspOyBleGl0OyBlbmQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLOj1LKzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgYmVnaW4gSzo9LTE7IFdyaXRlTG4oSyk7IGV4aXQ7IGVuZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQ7ICAKICAgICAgICAgICAgICAgICAgICBlbmQ7ICAKV3JpdGVMbihLKTsgICAgIAplbmQu