1.

// Evgeni & Christoph

import java.io.*;
import java.util.*;

public class Main {


public static boolean[][][] wall;
public static boolean[][] visited;

public static int startX, startY, endX, endY;
public static List<Character> solution;
public static List<Character> currentSolution;

public static void solve(int x, int y)
{
if(visited[x][y] || (x > 6 || x < 0 || y < 0 || y > 6 ))
return;

if(solution != null && currentSolution.size() >= solution.size())
return;

if(x == endX && y == endY)
{
if(solution == null || solution.size() > currentSolution.size())
solution = new ArrayList<Character>(currentSolution);

return;
}



if(y + 1 < 7 && !wall[x][y][1])
{
visited[x][y] = true;
currentSolution.add('S');
//System.out.printf("%d %d => %c \n", x, y, 'S');
solve(x, y + 1);
currentSolution.remove(currentSolution.size()-1);
visited[x][y] = false;

}

if(x + 1 < 7 && !wall[x][y][0])
{
visited[x][y] = true;

currentSolution.add('E');
//System.out.printf("%d %d => %c \n", x, y, 'E');
solve(x+1, y);
currentSolution.remove(currentSolution.size()-1);
visited[x][y] = false;

}

if(y - 1 > 0 && !wall[x][y-1][1])
{
visited[x][y] = true;

currentSolution.add('N');
//System.out.printf("%d %d => %c \n", x, y, 'N');
solve(x, y - 1);
currentSolution.remove(currentSolution.size()-1);
visited[x][y] = false;

}

if(x - 1 > 0 && !wall[x-1][y][0])
{
visited[x][y] = true;

currentSolution.add('W');
//System.out.printf("%d %d => %c \n", x, y, 'W');
solve(x-1, y);
currentSolution.remove(currentSolution.size()-1);
visited[x][y] = false;

}



}

public static void main(String...args)
{
Scanner sc = new Scanner(System.in);
int x1,x2,y1,y2;

while(true)
{
startX = sc.nextInt();
startY = sc.nextInt();

if(startX == 0 && startY == 0)
break;

endX = sc.nextInt();
endY = sc.nextInt();

solution = null;
currentSolution = new ArrayList<Character>();
wall = new boolean[9][9][2];
visited = new boolean[8][8];

for(int i = 0; i < 3; i++)
{
x1 = sc.nextInt();
y1 = sc.nextInt();
x2 = sc.nextInt();
y2 = sc.nextInt();

if(x1 == x2)
for(int y = y1+1; y <= y2; y++)
wall[x1][y][0] = true;
else
for(int x = x1+1; x <= x2; x++)
wall[x][y1][1] = true;
}

solve(startX, startY);
for(Character c: solution)
System.out.print(c);
System.out.println();

}
}
}