#include #include #define MAX_N 1050 int n; int P[MAX_N][2]; int U[MAX_N]; int N[MAX_N]; int findV(int a) { int pod=0; int nad=0; int spod=-1; int snad=10001; int vpod=0; int vnad=0; for(int i = 0;ispod) { spod=P[i][1]; vpod=i; } pod++; } else { if(P[i][1]sl) { sl=P[i][0]; vl=i; } l++; } else { if(P[i][0] P[pos][0]) printf("E"); else printf("W"); pos=next; V=1; } else { int next=findV(pos); if(P[next][1] < P[pos][1]) printf("S"); else printf("N"); pos=next; V=0; } } printf("\n"); } int main() { while(1) { scanf("%d",&n); if(n==0) return 0; for(int i1=0;i1 #include #define MAX_N 1050 int n; int P[MAX_N][2]; int comp(const void *a, const void *b) { int *aa= (int *)a; int *bb= (int *)b; if(*aa==*bb) return *(aa+1) - *(bb+1); return (*aa-*bb); } void solve() { qsort(P,n,sizeof(P[0][0])<<1,comp); int p=0; int k=0; while(p