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).
#include <bits/stdc++.h>
using namespace std;

inline void move_north(int *y){
    (*y)++;
}

inline void move_east(int *x){
    (*x)++;
}

inline void move_south(int *y){
    (*y)--;
}

inline void move_west(int *x){
    (*x)--;
}

int main(){
    int t,initialx,initialy,finalx,finaly,time=0,i=0;
    cin>>t>>initialx>>initialy>>finalx>>finaly;
    char directions[t];
    for(int i=0; i<t; i++)
    cin>>directions[i];
    int currx=initialx,curry=initialy;
    while(!(currx==finalx and curry==finaly)){
        if(directions[i]=='N' and curry<finaly){
            move_north(&curry);
            // curry++;
            time++;
        }
        else if(directions[i]=='E' and curry<finaly){
            move_east(&currx);
            // currx++;
            time++;
        }
        else if(directions[i]=='S' and curry>finaly){
            move_south(&curry);
            // curry--;
            time++;
        }
        else if(directions[i]=='W' and currx>finalx){
            move_west(&currx);
            // currx--;
            time++;
        }
        else
        time++;
        i++;
        if (time>t){
            cout<<-1;
            return 0;
        }
    }
    cout<<time;
    return 0;
}