var n,i,l,d:longint;
    c:char;
    f:text;
procedure ciklicno(n,l:longint);
var ispred:boolean;
begin
 ispred:=true;
 for i:=1 to n do
   begin
    if ispred then if i<l then begin
                                writeln(f,i);
                                l:=l-i;
                               end
                          else begin
                                writeln(f,l);
                                l:=i-l;
                                ispred:=false;
                               end
              else if i<n-l then begin
                                  writeln(f,0);
                                  l:=l+i;
                                 end
                            else begin
                                  writeln(f,i+l-n);
                                  l:=2*n-i-l;
                                  ispred:=true;
                                 end;
   end;
end;
begin
 assign(f,'rendzeri.in');
 reset(f);
 readln(f,n);
 for i:=1 to n do
   begin
    read(f,c);
    if c='-' then inc(l);
   end;
 close(f);
 assign(f,'rendzeri.out');
 rewrite(f);
 if l<n-l then d:=l
          else d:=n-l;
 ciklicno(n-2*d,l-d);
 for i:=d-1 downto 0 do
   if ((l-i) mod 2)=((n-2*i+1) mod 4 div 2) then begin
                                                    writeln(f,0);
                                                    writeln(f,n-2*i);
                                                   end
                                              else begin
                                                    writeln(f,n-2*i-1);
                                                    writeln(f,0);
                                                   end;
 close(f);
end.