F: Echiquier


Nous avons un échiquier NxN dont les lignes et les colonnes sont numérotées de 1 jusqu'à N. Sur cet échiquier deux pièces se déplacent chacune leur tour d'une seule case. Un pièce peut donc se déplacer dans l'une des huit directions correspondant aux points cardinaux, soient Nord, Sud ,Est, Ouest et Nord-Est, Sud-Est, Sud-Ouest et Nord-Ouest.

Vous devez concevoir un programme qui calcule le déplacement de ces deux pièces en tenant bien compte des règles suivantes :
1) A chaque tour on joue une seule pièce. D'un tour à l'autre on alterne de pièce. Donc on déplace d'abord la première pièce
puis seconde etc...
2) La direction d'une pièce ne change que lorsqu'elle rencontre un obstacle (c-à-d une case qui est soit occupée par l'autre pièce soit à l'extérieur de l'échiquier).
3) Lorsqu'une pièce P rencontre un obstacle elle se comporte comme suit :
    a) Si la case située dans la direction du mouvement est occupée par l'autre pièce, P ne se déplace pas mais la direction de
son mouvement est inversée :
            Nord                devient         Sud
            Sud                   devient        Nord
            Est                    devient        Ouest
            Ouest               devient        Est
            Nord-Est         devient        Sud-Ouest
            Sud-Est            devient        Nord-Ouest
            Sud-Ouest       devient        Nord-Est
            Nord-Ouest    devient        Sud-Est

    b) Si la case située dans la direction du mouvement est à l'extérieur de l'échiquier on a les cas suivants :
        i)  Pour Nord, Sud, Est, Ouest P ne se déplace pas et on inverse la direction de son mouvement (comme le cas précédent).
        ii) Pour les autres directions on utilise la correspondance suivante :
             Si X-Y est la direction (X-Y = Nord-Est, Sud-Est, Sud-Ouest ou Nord-Ouest)
              - si les cases dans les directions X et Y sont occupées, P ne se déplace pas et on inverse sont mouvement
              - si seulement la case dans la direction X est occupée P se déplace dans la direction Y et sa direction est maintenant
X-Y, où X est l'inverse de X.
              - si seulement la case dans la direction Y est occupée alors P se déplace dans la direction X et sa direction est
maintenant X-Y.

              Donc par exemple si la direction est
               Nord-Est   on a soit
                    -pas de mouvement de P et direction devient Sud-Ouest si les cases dans les directions Nord et Est sont occupées
                    -mouvement de P dans le sens Est et la direction devient Sud-Est si seulement la case dans la direction Nord est occupée
                    - mouvement de P dans le sens Nord et la direction devient Nord-Ouest si seulement la case dans la direction Est est occupée

Entrée

Votre programme prend en entrée (sur l'entrée standard) quatre lignes de la forme

N
DD X1 Y1
DD X2 Y2
Coup

où N est la dimension de l'échiquier (entier positif)
     DD sont deux caractères qui représentent la direction initiale du mouvement de la première pièce, il s'agit de
              NN pour Nord
              SS  pour Sud
              EE  pour Est
              OO pour Ouest
              NE pour Nord-Est
              SE pour Sud-Est
              SO pour Sud-Ouest
              NO pour Nord-Ouest
      X1 et Y2 sont les positions horizontale et verticale de la case où la première pièce est située (deux entiers entre 1 et N)

      X2 Y2 DD représente les mêmes données pour la seconde pièce.

        Finalement Coup est un entier positif ou nul qui représente le nombre de coups à jouer. Par exemple Coup = 1 veut dire que seule la première  pièce est jouée, Coup = 2 veut dire que d'abord la première et après la seconde pièce est jouée.

Sortie

Votre programme doit calculer la position et la direction des deux pièces après Coup (nombre de coups) et les afficher sur la
sortie standard
dans le format
DD X1 Y1
DD X2 Y2

Votre programme n'est pas tenu de faire la validation des entrées.

Exemple (1)

entrée

3
EE 1 1
EE 3 3
4

sortie

EE 3 1
OO 2 3
 

Exemple (2)

entrée

6
SE 1 6
NO 6 1
10
 

sortie

NO 1 6
SE 6 1