#2233. Build Gates

Build Gates

题目描述

农民约翰决定在他的农场周围建一个新栅栏,但他总是分心,结果把栅栏建成了一个比他预期的更奇怪的形状!

具体来说,FJ\red{FJ}从位置(0,0\red{0,0})开始,并采取N\red{N}步,每个步向北、向南、向东或向西移动一个单位的距离。

每走一步,他都会在身后放置一块栅栏。例如,如果他的第一步是向北,他会添加一段从0,0\red{(0,0)}0,1\red{(0,1)}的围栏。FJ\red{FJ}可能会多次访问点,甚至可能多次铺设同一段围栏。

如果他的路穿过他已经建造的一段栅栏,他的栅栏甚至可能会自己穿过。

不用说,FJ\red{FJ}在完成围栏后对结果相当失望。

特别是,他注意到可能是这样的,他现在已经将农场的一些区域与其他区域隔开,这样一来,如果不穿过栅栏,就无法从一个区域走到另一个区域。

FJ\red{FJ}希望在他的围栏上增加大门来解决这个问题。可以在他建造的任何单位长度的围栏段上增加一扇大门,允许该段两侧通行。

请确定FJ\red{FJ}需要建造的闸门的最小数量,以便农场的每个区域都可以从其他区域再次到达。

输入格式

第一行输入包含N\red{N(}1\red{1≤}N\red{N≤}1000).\red{1000). }

下一行包含一个长度为N\red{N}的字符串,描述FJ\red{FJ}的路径。

每个字符可以是N\red{N}(北)、E\red{E}(东)、S\red{S}(南)或W\red{W}(西)。

输出格式

写出一个整数,给出FJ\red{FJ}需要建立的最小门数,以恢复到其农场所有区域的完整连接。

请注意,如果服务器场从开始连接,则答案可能为0\red{0}

样例

输入样例

14
NNNESWWWSSEEEE

输出样例

2