#include #include using namespace std; class punk { public: int x,y,index; bool operator<(const punk &rhs) const { if (x == rhs.x) return y < rhs.y; return x < rhs.x; } }; class punk2 { public: int x,y,index; bool operator<(const punk2&rhs)const { if(y == rhs.y) return x < rhs.x; return y < rhs.y; } }; int tab[100000]; int ile_ok; class wie { public: int x,y; int odwiedzony; int index; wie *sasiedzi[5]; int ile_s; wie():ile_s(0), odwiedzony(0) {} void add(wie *nowy) { sasiedzi[ile_s++] = nowy; } void go() { odwiedzony = 1; tab[ile_ok++] = index; for(int i=0;iodwiedzony)continue; sasiedzi[i]->go(); } } }; void do_it(int n) { ile_ok = 0; punk pkt[n]; punk2 pkt2[n]; wie graf[n]; for(int i=0;i pkt[best].y) rev = 1; } else { if(pkt[prev].y < pkt[best].y) rev = 1; } int delta = 1; if(rev) delta = -1; int pr = 0; for(int i=0;i pkt[pr].y) printf("N"); else printf("S"); //TODO y } if(pkt[nx].y == pkt[pr].y) { if(pkt[nx].x > pkt[pr].x) printf("E"); else printf("W"); //TODO y; } pr = nx; } printf("\n"); } int main() { int n;scanf("%i",&n); while(n) { do_it(n); scanf("%i",&n); } }