#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6;
using ll = long long;
ll a[maxn+5], b[maxn+5],n;
ll dx[4] = {-1,0,1,0};
ll dy[4] = {0,1,0,-1};
ll x,y;
string s;
void process() {
a[1] = 1;
b[n] = n * n;
for(int i = 2; i <= n; i++) {
if(i%2==0) a[i] = a[i-1] + 1;
else a[i] = a[i-1] + (i-1)*2;
}
for(int i = n - 1; i >= 1; i--) {
if((n-i+1)%2==0) b[i] = b[i+1] - 1;
else b[i] = b[i+1] - (n-i)*2;
}
}
ll getval(ll x, ll y) {
if(x+y<=1+n){
ll cot = x + y - 1;
ll val;
if(cot%2==0) val = a[cot]+abs(x-1);
else val = a[cot]-abs(x-1);
return val;
}
else {
ll cot = x + y - n;
ll val;
if((n-cot+1)%2==0) val = b[cot]-abs(x-n);
else val = b[cot]+abs(x-n);
return val;
}
}
void AC() {
int m = s.size();
set<ll> val;
val.insert(getval(x,y));
for(int i = 0; i < m; i++) {
if(s[i]=='N') {x+=dx[0]; y+=dy[0];}
else if(s[i] == 'E') {x+=dx[1]; y+=dy[1];}
else if(s[i] == 'S') {x+=dx[2]; y+=dy[2];}
else {x+=dx[3]; y+=dy[3];}
val.insert(getval(x,y));
}
ll res = 0;
for(auto it : val) res+=it;
cout << '\n';
cout << res;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> x >> y;
cin >> s;
process();
AC();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBtYXhuID0gMWU2Owp1c2luZyBsbCA9IGxvbmcgbG9uZzsKbGwgYVttYXhuKzVdLCBiW21heG4rNV0sbjsKbGwgZHhbNF0gPSB7LTEsMCwxLDB9OwpsbCBkeVs0XSA9IHswLDEsMCwtMX07CmxsIHgseTsKc3RyaW5nIHM7CnZvaWQgcHJvY2VzcygpIHsKICAgIGFbMV0gPSAxOwogICAgYltuXSA9IG4gKiBuOwogICAgZm9yKGludCBpID0gMjsgaSA8PSBuOyBpKyspIHsKICAgICAgICBpZihpJTI9PTApIGFbaV0gPSBhW2ktMV0gKyAxOwogICAgICAgIGVsc2UgYVtpXSA9IGFbaS0xXSArIChpLTEpKjI7CiAgICB9CiAgICBmb3IoaW50IGkgPSBuIC0gMTsgaSA+PSAxOyBpLS0pIHsKICAgICAgICBpZigobi1pKzEpJTI9PTApIGJbaV0gPSBiW2krMV0gLSAxOwogICAgICAgIGVsc2UgYltpXSA9IGJbaSsxXSAtIChuLWkpKjI7CiAgICB9Cgp9CmxsIGdldHZhbChsbCB4LCBsbCB5KSB7CiAgICBpZih4K3k8PTErbil7CiAgICAgICAgbGwgY290ID0geCArIHkgLSAxOwogICAgICAgIGxsIHZhbDsKICAgICAgICBpZihjb3QlMj09MCkgdmFsID0gYVtjb3RdK2Ficyh4LTEpOwogICAgICAgIGVsc2UgdmFsID0gYVtjb3RdLWFicyh4LTEpOwogICAgICAgIHJldHVybiB2YWw7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBsbCBjb3QgPSB4ICsgeSAtIG47CiAgICAgICAgbGwgdmFsOwogICAgICAgIGlmKChuLWNvdCsxKSUyPT0wKSB2YWwgPSBiW2NvdF0tYWJzKHgtbik7CiAgICAgICAgZWxzZSB2YWwgPSBiW2NvdF0rYWJzKHgtbik7CiAgICAgICAgcmV0dXJuIHZhbDsKICAgIH0KfQp2b2lkIEFDKCkgewogICAgaW50IG0gPSBzLnNpemUoKTsKICAgIHNldDxsbD4gdmFsOwogICAgdmFsLmluc2VydChnZXR2YWwoeCx5KSk7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbTsgaSsrKSB7CiAgICAgICAgaWYoc1tpXT09J04nKSB7eCs9ZHhbMF07IHkrPWR5WzBdO30KICAgICAgICBlbHNlIGlmKHNbaV0gPT0gJ0UnKSB7eCs9ZHhbMV07IHkrPWR5WzFdO30KICAgICAgICBlbHNlIGlmKHNbaV0gPT0gJ1MnKSB7eCs9ZHhbMl07IHkrPWR5WzJdO30KICAgICAgICBlbHNlIHt4Kz1keFszXTsgeSs9ZHlbM107fQogICAgICAgIHZhbC5pbnNlcnQoZ2V0dmFsKHgseSkpOwogICAgfQogICAgbGwgcmVzID0gMDsKICAgIGZvcihhdXRvIGl0IDogdmFsKSByZXMrPWl0OwogICAgY291dCA8PCAnXG4nOwogICAgY291dCA8PCByZXM7Cn0KaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgY2luID4+IG4gPj4geCA+PiB5OwogICAgY2luID4+IHM7CiAgICBwcm9jZXNzKCk7CiAgICBBQygpOwogICAgcmV0dXJuIDA7Cn0K