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).
def get_index(l, x, n):
    # 函数作用: 获取某个元素第n次出现在列表的下标
    # 参数列表: 第一个参数为可迭代对象, 第二个参数为要查找的数, 第三个参数为要查找第几个出现的x
    l_count = l.count(x)
    result = None
    if n <= l_count:
        num = 0
        for item in enumerate(l):
            if item[1] == x:
                num += 1
            if num == n:
                result = item[0]
                break

    return result




t,sx,sy,ex,ey=map(int,input().split())
x=ex-sx
y=ey-sy
w=input()
a=w.count('E')
b=w.count('W')
c=w.count('N')
d=w.count('S')
if x>a or x<-b or y>c or y<-d:
    print(-1)
else:
    if x>0:
        if y==0:
            print(get_index(w,'E',x)+1)
        elif y>0:
            print(max(get_index(w,'E',x),get_index(w,'N',y))+1)
        elif y<0:
            print(max(get_index(w, 'E', x), get_index(w, 'S',-y))+1)
    elif x<0:
        if y==0:
            print(get_index(w, 'W', -x)+1)
        elif y>0:
            print(max(get_index(w, 'W', -x),get_index(w,'N',y))+1)
        elif y<0:
            print(max(get_index(w,'W',-x),get_index(w,'S',-y))+1)
    else:
        if y>0:
            print(get_index(w,'N',y)+1)
        else:
            print(get_index(w,'S',-y)+1)