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 collections import defaultdict
import math

def pug_func(t: int, curr_pos: tuple, end_pos: tuple, movs: str) -> int:

    # arr = list(map(int, s.split(" ")))
    # rev_arr = arr[::-1]

    # s = set()
    # L = 0
    # for i in range(len(arr)):
    #     if rev_arr[i] not in s:
    #         s.add(rev_arr[i])
    #     else:
    #         break

    #     L += 1

    # return len(arr) - L
    
    for i in range(t):

        curr_dist = abs(curr_pos[0] - end_pos[0]) + abs(curr_pos[1] - end_pos[1])

        if curr_dist == 0:
            return i
        
        if movs[i] == "N":
            new_dist = abs(curr_pos[0] - end_pos[0]) + abs(curr_pos[1] - end_pos[1] + 1)

            if new_dist < curr_dist:
                curr_pos = (curr_pos[0], curr_pos[1] + 1)
            
        elif movs[i] == "S":
            new_dist = abs(curr_pos[0] - end_pos[0]) + abs(curr_pos[1] - end_pos[1] - 1)

            if new_dist < curr_dist:
                curr_pos = (curr_pos[0], curr_pos[1] - 1)

        elif movs[i] == "E":
            new_dist = abs(curr_pos[0] - end_pos[0] + 1) + abs(curr_pos[1] - end_pos[1])

            if new_dist < curr_dist:
                curr_pos = (curr_pos[0] + 1, curr_pos[1])

        elif movs[i] == "W":
            new_dist = abs(curr_pos[0] - end_pos[0] - 1) + abs(curr_pos[1] - end_pos[1])

            if new_dist < curr_dist:
                curr_pos = (curr_pos[0] - 1, curr_pos[1])

        

        # if curr_pos == end_pos:
        #     return i + 1


    return -1




# t = int(input())
# lista_ans = []

# for _ in range(t):
#     n = input()
#     line = input()
#     lista_ans.append(line)

# for ans in lista_ans:
#     x = pug_func(ans)
#     print(x)

t, sx, sy, ex, ey = map(int, input().split(" "))
movs = input()

curr_pos = (sx, sy)
end_pos = (ex, ey)

x = pug_func(t, curr_pos, end_pos, movs)
print(x)