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).
lst=list(map(int,input().split()))
n=int(lst[0])
nex=list(input())
difX=lst[3]-lst[1]
difY=lst[4]-lst[2]
if difX==0 and difY==0:
	print(0)
else:
 time=-1
 f="Y"
 if difX>0:
     for i in range(len(nex)):
         if nex[i]=="E":
             difX=difX-1
             index=i+1
     if difX<=0:
      time=max(time,index)
     else:
         f="No"
 elif difX<0:
     for i in range(len(nex)):
         if difX==0:
            break
         if nex[i]=="W":
             difX+=1
             index=i+1
     if difX==0:	
       time=max(time,index)
     else:
         f="No"
 if difY>0:
 	for i in range(len(nex)):
 	    if difY==0:
 	     break
 	    if nex[i]=="N":
 	        difY-=1
 	        index=i+1
 	if difY==0:	
 	    time=max(time,index)
 	else:
 	    f="N0"
 elif difY<0:
     for i in range(len(nex)):
         if difY==0:
          break
         if nex[i]=="S":
             difY+=1
             index=i+1
     if difY==0:	
         time=max(time,index)
     else:
         f="No"		
 if f=="No":
 	print(-1)
 else:
 	print(time)