#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long LL; struct para{ int a; int b; int ile; }; bool sort1(para a,para b) { if (a.a == b.a ) return (a.b < b.b); else return a.a < b.a; } bool sort2(para a,para b) { if (a.b == b.b ) return (a.a < b.a); else return a.b < b.b; } int main() { int n,i; while(true) { scanf("%d",&n); if (n==0) return 0; vector tab(n); for(int ii=0;ii odp; odp.clear(); do { i = 0; //u += 1; if (w[gd][i].b < jed.b) { gd = w[gd][i].ile;jed = w[gd][i];odp.push_back('S');} else if (w[gd][i+1].a < jed.a) { gd = w[gd][i+1].ile; jed = w[gd][i+1]; odp.push_back('W');} else if (w[gd][i].b > jed.b) { gd = w[gd][i].ile;jed = w[gd][i];odp.push_back('N');} else if (w[gd][i+1].a > jed.a) { gd = w[gd][i+1].ile;jed = w[gd][i+1];odp.push_back('E');} //cout << gd << "\n"; } while (gd!=0); vector odp2; if (odp.size() jed.b) { gd = w[gd][i].ile;jed = w[gd][i];odp2.push_back('N');} else if (w[gd][i+1].a > jed.a) { gd = w[gd][i+1].ile;jed = w[gd][i+1];odp2.push_back('E');} //cout << gd << "\n"; } while (gd!=tab[n-1].ile); } odp.push_back('\n'); for(int o=0;o