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
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.TreeSet;

//CF_1351_C
public class CF_1351_C {
	public static BufferedReader br;
	public static BufferedWriter bw;
	
	public static void solve() throws IOException{
		String line = br.readLine();
		TreeSet<String> visited = new TreeSet<>();
		int time = 0;
		int x = 0;
		int y = 0;
		String prev = "(0,0)";
		//System.out.println("==");
		for (int i = 0; i < line.length(); i++) {
			char dir = line.charAt(i);
			switch(dir) {
				case 'N': y++; break;
				case 'S': y--; break;
				case 'E': x++; break;
				case 'W': x--; break;
			}
			String current = "("+x+","+y+")";
			//System.out.println(current);
			String lastPath = prev+"-"+current;
			String lastPathR = current+"-"+prev;
			if(visited.contains(lastPath)) {
				time += 1;
			}else {
				time += 5;
				visited.add(lastPath);
				visited.add(lastPathR);
			}
			prev = current;
			//System.out.println(visited);
		}
		bw.write(time+"");
		
	}

	public static void main(String[] args) throws IOException {
		br = new BufferedReader(new InputStreamReader(System.in));
		bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		String line = br.readLine();
		int T = Integer.parseInt(line);
		
		while(T>0){
			
			solve();
			
			bw.write("\n");
			T--;
		}
		
		bw.close();
		br.close();
	}

}
