/*
TASK:flower
LANG:C++
*/
#include <iostream>
#include <fstream>
#include <map>

using namespace std;
typedef unsigned long long tip;

tip Nc=0,Ec=0,Wc=0,Sc=0,br=0;
int n;

struct fl{tip N,S,W,E;};
map<fl,tip> s;

bool operator<(fl a,fl b)
{
     if (a.N<b.N) return 1;
     if ((a.N==b.N)&&(a.S<b.S)) return 1;
     if ((a.N==b.N)&&(a.S==b.S)&&(a.W<b.W)) return 1;
     if ((a.N==b.N)&&(a.S==b.S)&&(a.W==b.W)&&(a.E<b.E)) return 1;
     return 0;
 }

fl make_fl(tip N,tip S,tip W,tip E)
{ fl res; res.N=N; res.E=E; res.W=W; res.S=S; return res; }

tip rec(tip N,tip S,tip W,tip E,int lev)
{
     if (s.find(make_fl(N,S,W,E))!=s.end()) return s[make_fl(N,S,W,E)];
     if (lev==0) return 1;
     tip j=0;
     
//     cout<<c<<endl;
     
     if ((N>S)&&(S<Sc)) j+=rec(N,S+1,W,E,lev-1);
     if ((W>E)&&(E<Ec)) j+=rec(N,S,W,E+1,lev-1);
     if ((N<Nc)&&(N-S<lev)) j+=rec(N+1,S,W,E,lev-1);
     if ((W<Wc)&&(W-E<lev)) j+=rec(N,S,W+1,E,lev-1);
          
//     for (int i=0; i<n-lev+1; i++) cout<<"   ";
//     cout<<j<<endl;
//     cout<<N<<S<<W<<E<<endl;
     return j;
 }


tip flow1(int n)
{   if (n==4) return 6;
    if (n<4) return 1;
    return flow1(n-2)*(n-1)*4/(n-2)  ;//((n/2-1)*(n/2-1));
}

tip flow(tip N,tip S,tip W,tip E)
{  
    if (N>W) {swap(N,W); swap(S,E);}
    tip n1=flow1(W+N+S+E);
    return n1;
}

int main()
{
    long i;
    char c;
    
    
    
    cin>>n;
    for (i=1; i<=n; i++)
     { cin>>c;
       if (c=='N') Nc++;
       if (c=='S') Sc++;
       if (c=='W') Wc++;
       if (c=='E') Ec++;
       }  
       
       
       n=Nc+Sc+Wc+Ec;
       if ((Nc==1)||(Wc==1))
       { if (Nc==1){ swap(Nc,Wc); swap(Ec,Sc); }
         cout<<flow1(Nc+Ec+Wc+Sc)-1<<"\n"; }
       else cout<<rec(0,0,0,0,n)<<"\n";  
    
/*    for (Nc=1; Nc<=5; Nc++)
    for (Sc=1; Sc<=5; Sc++)
    for (Wc=1; Wc<=5; Wc++)
    for (Ec=1; Ec<=5; Ec++)
    if ((Ec==Wc)&&(Nc==Sc))
    { cout<<Nc<<" "<<Sc<<" "<<Wc<<" "<<Ec<<" - "; 
      n=Nc+Sc+Wc+Ec;
      cout<<rec(0,0,0,0,n,' ')<<"   "<<flow(Nc,Sc,Wc,Ec)<<"\n"; } */
      
//     cout<<rec(0,0,0,0,n,' ')<<"\n"; 
//   cout<<br<<endl;
        
    return 0;
}
