The polar bears are going fishing. They plan to sail from (*s*<sub class="lower-index">*x*</sub>, *s*<sub class="lower-index">*y*</sub>) to (*e*<sub class="lower-index">*x*</sub>, *e*<sub class="lower-index">*y*</sub>). However, the boat can only sail by wind. At each second, the wind blows in one of these directions: east, south, west or north. Assume the boat is currently at (*x*, *y*).
 -  If the wind blows to the east, the boat will move to (*x* + 1, *y*). -  If the wind blows to the south, the boat will move to (*x*, *y* - 1). -  If the wind blows to the west, the boat will move to (*x* - 1, *y*). -  If the wind blows to the north, the boat will move to (*x*, *y* + 1). 
Alternatively, they can hold the boat by the anchor. In this case, the boat stays at (*x*, *y*). Given the wind direction for *t* seconds, what is the earliest time they sail to (*e*<sub class="lower-index">*x*</sub>, *e*<sub class="lower-index">*y*</sub>)?
The first line contains five integers *t*, *s*<sub class="lower-index">*x*</sub>, *s*<sub class="lower-index">*y*</sub>, *e*<sub class="lower-index">*x*</sub>, *e*<sub class="lower-index">*y*</sub> (1 ≤ *t* ≤ 10<sup class="upper-index">5</sup>,  - 10<sup class="upper-index">9</sup> ≤ *s*<sub class="lower-index">*x*</sub>, *s*<sub class="lower-index">*y*</sub>, *e*<sub class="lower-index">*x*</sub>, *e*<sub class="lower-index">*y*</sub> ≤ 10<sup class="upper-index">9</sup>). The starting location and the ending location will be different.

The second line contains *t* characters, the *i*-th character is the wind blowing direction at the *i*-th second. It will be one of the four possibilities: "E" (east), "S" (south), "W" (west) and "N" (north).
from sys import *
from collections import Counter
input = lambda:stdin.readline()

int_arr = lambda : list(map(int,stdin.readline().strip().split()))
str_arr = lambda :list(map(str,stdin.readline().split()))
get_str = lambda : map(str,stdin.readline().strip().split())
get_int = lambda: map(int,stdin.readline().strip().split())
get_float = lambda : map(float,stdin.readline().strip().split())


mod = 1000000007
setrecursionlimit(1000)


def ans():
    t,x,y,x1,y1 = get_int()
    s = str(input())
    dic = {}
    elex,eley,reqx,reqy = '#','#',0,0
    for ele,ct in Counter(s).items():
        dic[ele] = ct

    if x > x1:
        if 'W' in dic and dic['W'] < x - x1:
            return -1
        else:
            reqx = x - x1
            elex = 'W' 
    else:
        if x < x1:
            if dic['E'] < x1 - x:
                return -1
            else:
                reqx = x1 - x
                elex = 'E'
    if y > y1:
        if dic['S'] < y - y1:
            return -1
        else:
            reqy = y - y1
            eley = 'S'
    else:
        if y < y1:
            if dic['N'] < y1 - y:
                return -1
            else:
                reqy = y1 - y
                eley = 'N'
        
    for i in range(len(s)):
        if s[i] == elex:
            reqx -= 1
        elif s[i] == eley:
            reqy -= 1
        if reqx <= 0 and reqy <= 0:
            return i+1


print(ans())