//11:20 - 11:45, debug - 11:54
{$R+,Q+}

const NMAX = 100000;

var
  n,cursum,c,sum: int64;
  i: integer;
  a: array[1..NMAX] of byte;

begin

//  assign(input,'input.txt');
  reset(input);
//  assign(output,'output.txt');
  rewrite(output);

  readln(n);
  sum := ((1+n)*n) div 2;
  if sum mod 2 = 1 then 
    writeln('NO') 
  else
  begin
    writeln('YES');
    fillchar(a,sizeof(a),0);
    sum := sum div 2;
    cursum := 0;
    for i:=n downto 1 do 
      if cursum+i <= sum then 
      begin
        cursum := cursum + i; a[i] := 1;
      end;
    for i:=1 to n do
    begin
      read(c);
      if a[c]=0 then writeln('+') else writeln('-');
    end;
  end;
end.



  



