Codeforces Round 336 (Div. 2)
E
Marbles
Codeforces
未评级
原题
← D→
翻译中…

In the spirit of the holidays, Saitama has given Genos two grid paths of length $*n*$ (a weird gift even by Saitama's standards). A grid path is an ordered sequence of neighbouring squares in an infinite grid. Two squares are neighbouring if they share a side.

翻译中…

One example of a grid path is $(0, 0) → (0, 1) → (0, 2) → (1, 2) → (1, 1) → (0, 1) → ( - 1, 1)$. Note that squares in this sequence might be repeated, i.e. path has self intersections.

翻译中…

Movement within a grid path is restricted to adjacent squares within the sequence. That is, from the $*i*$-th square, one can only move to the $(*i* - 1)$-th or $(*i* + 1)$-th squares of this path. Note that there is only a single valid move from the first and last squares of a grid path. Also note, that even if there is some $*j*$-th square of the path that coincides with the $*i*$-th square, only moves to $(*i* - 1)$-th and $(*i* + 1)$-th squares are available. For example, from the second square in the above sequence, one can only move to either the first or third squares.

翻译中…

To ensure that movement is not ambiguous, the two grid paths will not have an alternating sequence of three squares. For example, a contiguous subsequence $(0, 0) → (0, 1) → (0, 0)$ cannot occur in a valid grid path.

翻译中…

One marble is placed on the first square of each grid path. Genos wants to get both marbles to the last square of each grid path. However, there is a catch. Whenever he moves one marble, the other marble will copy its movement if possible. For instance, if one marble moves east, then the other marble will try and move east as well. By try, we mean if moving east is a valid move, then the marble will move east.

翻译中…

Moving north increases the second coordinate by $1$, while moving south decreases it by $1$. Similarly, moving east increases first coordinate by $1$, while moving west decreases it.

翻译中…

Given these two valid grid paths, Genos wants to know if it is possible to move both marbles to the ends of their respective paths. That is, if it is possible to move the marbles such that both marbles rest on the last square of their respective paths.

翻译中…

Input

翻译中…

The first line of the input contains a single integer $*n*$ ($2 ≤ *n* ≤ 1 000 000$) — the length of the paths.

翻译中…

The second line of the input contains a string consisting of $*n* - 1$ characters (each of which is either 'N', 'E', 'S', or 'W') — the first grid path. The characters can be thought of as the sequence of moves needed to traverse the grid path. For example, the example path in the problem statement can be expressed by the string "NNESWW".

翻译中…

The third line of the input contains a string of $*n* - 1$ characters (each of which is either 'N', 'E', 'S', or 'W') — the second grid path.

翻译中…

Output

翻译中…

Print "YES" (without quotes) if it is possible for both marbles to be at the end position at the same time. Print "NO" (without quotes) otherwise. In both cases, the answer is case-insensitive.

翻译中…

Note

翻译中…

In the first sample, the first grid path is the one described in the statement. Moreover, the following sequence of moves will get both marbles to the end: NNESWWSWSW.

翻译中…

In the second sample, no sequence of moves can get both marbles to the end.

翻译中…

样例

Input #1
7
NNESWW
SWSWSW
Output #1
YES
InputCopy OutputCopy
Input #2
3
NN
SS
Output #2
NO
InputCopy OutputCopy
题目信息
题号
608E
时间限制
2 s
内存限制
256 MB

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。