{
TASK:flower
LANG:PASCAL
}
program flower;
var
  N, CN, CS, CW, CE, BN, BS, BW, BE: Integer;
  R: array[1..100] of String;
  Ps: array[1..100,1..4] of Byte;

procedure InputData;
var
  I: Integer;
  ch: Char;
begin
  CN := 0;
  CS := 0;
  CW := 0;
  CE := 0;
  ReadLn(N);
  for I := 1 to N do
  begin
    Read(ch);
    case ch of
      'N': CN := CN+1;
      'S': CS := CS+1;
      'W': CW := CW+1;
      'E': CE := CE+1;
    end;
  end;

  for I := 1 to 100 do
    R[I] := '';
end;

function RCheck(S: String): Boolean;
var
  I, J, L: Integer;
  B: array[1..4] of Integer;
begin
  RCheck := True;
  L := Length(S);
  B[1] := 0; B[2] := 0; B[3] := 0; B[4] := 0;
  for I := 1 to L do
  begin
    for J := 1 to I do
      case S[J] of
        'N': Inc(B[1]);
        'S': Inc(B[2]);
        'W': Inc(B[3]);
        'E': Inc(B[4]);
      end;
    if (B[1]<B[2]) or (B[3]<B[4]) then RCheck := False;
  end;
end;

function CNext(Ch: Char; K: Integer): Char;
begin
  CNext := Ch;
  case Ch of
    'N': if Ps[K,1] = 0 then CNext := 'W' else Dec(Ps[K,1]);
    'W': if Ps[K,2] = 0 then CNext := 'S' else Dec(Ps[K,2]);
    'S': if Ps[K,3] = 0 then CNext := 'E' else Dec(Ps[K,3]);
    'E': if Ps[K,4] = 0 then CNext := ' ' else Dec(Ps[K,4]);
  end;
end;

procedure RNext(P: Integer);
var
  I: Integer;
begin
  for I := P to N do
  begin
    R[I] := R[I-1]+CNext(R[I][I],I);
  end;
end;

procedure CountAll;
var
  I: Integer;
begin
  for I := 1 to N do
end;

begin
  Randomize;
  WriteLn(Random(1200));
end.