Skier rides on a snowy field. Its movements can be described by a string of characters 'S', 'N', 'W', 'E' (which correspond to 1 meter movement in the south, north, west or east direction respectively).

It is known that if he moves along a previously unvisited segment of a path (i.e. this segment of the path is visited the first time), then the time of such movement is 5 seconds. If he rolls along previously visited segment of a path (i.e., this segment of the path has been covered by his path before), then it takes 1 second.

Find the skier's time to roll all the path.

Input

The first line contains an integer t (1 ≤ t ≤ 10^4) — the number of test cases in the input. Then t test cases follow.

Each set is given by one nonempty string of the characters 'S', 'N', 'W', 'E'. The length of the string does not exceed 10^5 characters.

The sum of the lengths of t given lines over all test cases in the input does not exceed 10^5.

Output

For each test case, print the desired path time in seconds.

Example

Input


5
NNN
NS
WWEN
WWEE
NWNWS


Output


15
6
16
12
25
num_tests = int(input())
tests = []
time_records = []

def compare(a,b):
    if a>b:
        return a
    else:
        return b

for i in range(num_tests):
    tests.append(input())

for string in tests:
    visited_set = set([])
    len_string = len(string)
    position = [0,0]
    timer = 0
    for j in range(len(string)):
        if string[j] == "N":
            point1 = str(position[0]) + ":" + str(position[1])
            point2 = str(position[0]) + ":" + str(position[1]+1)
            direction = point1 + "->" + point2
            reversed_direction = point2 + "->" + point1
            if direction not in visited_set:
                visited_set.add(direction)
                visited_set.add(reversed_direction)
                timer = timer + 5
            else:
                timer = timer + 1
            position[1] = position[1] + 1
        elif string[j] == "S":
            point1 = str(position[0]) + ":" + str(position[1])
            point2 = str(position[0]) + ":" + str(position[1]-1)
            direction = point1 + "->" + point2
            reversed_direction = point2 + "->" + point1
            if direction not in visited_set:
                visited_set.add(direction)
                visited_set.add(reversed_direction)
                timer = timer + 5
            else:
                timer = timer + 1
            position[1] = position[1] - 1
        elif string[j] == "W":
            point1 = str(position[0]) + ":" + str(position[1])
            point2 = str(position[0]-1) + ":" + str(position[1])
            direction = point1 + "->" + point2
            reversed_direction = point2 + "->" + point1
            if direction not in visited_set:
                visited_set.add(direction)
                visited_set.add(reversed_direction)
                timer = timer + 5
            else:
                timer = timer + 1
            position[0] = position[0] - 1
        elif string[j] == "E":
            point1 = str(position[0]) + ":" + str(position[1])
            point2 = str(position[0]+1) + ":" + str(position[1])
            direction = point1 + "->" + point2
            reversed_direction = point2 + "->" + point1
            if direction not in visited_set:
                visited_set.add(direction)
                visited_set.add(reversed_direction)
                timer = timer + 5
            else:
                timer = timer + 1
            position[0] = position[0] + 1
    time_records.append(timer)

for i in time_records:
    print(i)






