#P5402. Mowing the Field

Mowing the Field

题目描述

农民约翰在管理农场的各个方面都相当可靠,除了一点:他不善于及时或合乎逻辑地割草。

农场是一个由正方形单元组成的大型2D{2D}网格。

FJ{FJ}在时间t=0{t=0}时在其中一个单元中开始,在该单元中割草,使其最初是唯一割草的单元。FJ{FJ}的剩余割草模式由 一系列N{N}语句描述。

例如,如果第一个语句为"W10{W 10}",则对于时间t=1{t=1}t=10{t=10(}即接下来的10{10}个时间单位),FJ{FJ} 将向其西部移动一个单元格,沿途割草。

在完成这一系列步骤后,他将在时间t=10{t=10}时在他西边的10{10}个牢房结束,一路上每个牢房都割草了。

FJ{FJ}的进度如此缓慢,以至于在他完成所有割草之前,他割草的一些草可能会长回来。

t{t}时割草的任何部分都将在t+x{t+x}时重新出现。FJ{FJ}的割草模式可能会让他多次访问同一个单元格,但他说,他从未遇到过一个已经割草的单元格。

也就是说,每次他访问一个牢房时,他最近一次访问同一牢房的时间必须至少提前x{x}个单位, 这样草才能长回来。

请确定x{x}的最大可能值,以便FJ{FJ}的观察结果仍然有效。

输入格式

第一行输入包含N{N(}1{1≤}N{N≤}100).{100).}

剩余的NN{NN}行中的每一行都包含一条语句,其形式为"DS{D S}",其中D{D}是描述方向的字符(N={N=}北,E={E=}东,S={S=}南,W={W=}西),S{S}是在该方向上采取的步数1{(1≤}S{S≤}10).{10).}

输出格式

请确定x{x}的最大值,以便FJ{FJ}不会踩到割草的单元格。 如果FJ{FJ}从未访问过任何单元格一次以上,请输出1{-1}

样例

输入样例

6
N 10
E 2
S 3
W 4
S 5
E 8

输出样例

10

提示

在本例中,FJ{FJ}在时间17{17}踏上了他之前在时间7{7}踏上的单元格;

因此,x{x}最多只能活10{10}岁,否则他第一次来的草就长不回来了。

他还在时间26{26}踏上了一个牢房,他也在时间2{2}访问了这个牢房;

因此x{x}最多也必须是24{24}

由于这两个约束中的第一个约束更紧,我们可以看到x{x}最多可以是10{10}