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).
import collections,math,itertools,bisect,heapq,copy
class Solution:
    res = -1
    def solve(self):
        def dp(cur,i,t):
            if cur == end:
                self.res = t
                return
            if i == len(string):
                if cur == end:
                    self.res = t
                return
            dp(cur,i+1,t+1)
            nxt = string[i]
            if nxt == 'N':
                cur = (cur[0],cur[1]+1)
            elif nxt == 'E':
                cur = (cur[0]+1,cur[1])
            elif nxt == 'W':
                cur = (cur[0]-1,cur[1])
            else:
                cur = (cur[0],cur[1]-1)
            dp(cur,i+1,t+1)

        # n = int(input())
        arr = list(map(int, input().rstrip().split()))
        string = input()
        t = arr[0]
        start = (arr[1],arr[2])
        end = (arr[3],arr[4])
        dp(start,0,0)
        print(self.res)
        
        


        
        

if __name__ == "__main__":
    solution = Solution()
    solution.solve()