/* Auteur: Nicolas JANEY          */
/* nicolas.janey@univ-fcomte.fr   */
/* Fevrier 2005                   */

public class Robot2EnConsole {

  /* Lecture au clavier des largeurs du parcours          */
  /* coteCarre : entier                                   */
  /* largeurDamier : entier                               */

  public static void parcourt(int coteCarre,int largeurDamier) {
    int x,y;        // Position instantanee du robot
    int i;          // Indice de boucle for
    int xinc = 1;   // Deplacement elementaire en x entre deux etapes
    int yinc = 0;   // Deplacement elementaire en y entre deux etapes
  /* x et y sont respectivement initialises a 1 et 0      */
  /* pour signifier un deplacement vers la droite         */
  /* en debut de parcours                                 */
  /* Lecture au clavier des positions initiales en x et y */
    Console.out.print("Position x initiale : ");
    x = Integer.valueOf(Console.in.readLine()).intValue();
    Console.out.print("Position y initiale : ");
    y = Integer.valueOf(Console.in.readLine()).intValue();
  /* Si les donnees du probleme sont correctes            */
    if ( ( x >= 1 ) && ( x <= largeurDamier ) &&
         ( y >= 1 ) && ( y <= largeurDamier ) &&
         ( x+coteCarre <= largeurDamier ) &&
         ( y-coteCarre >= 1 ) ) {
  /* Boucle de gestion des deplacements :                 */
  /* 4*coteCarre deplacements elementaires                */
      for ( i = 1 ; i <= coteCarre*4 ; i++ ) {
  /* Deplacements en x et en y correspondant              */
  /* a un deplacement elementaire                         */
        x = x+xinc;
        y = y+yinc;
        Console.out.println(x+","+y);
  /* Si on arrive dans le coin superieur droit,           */
  /* le deplacement se fait maintenant vers le bas        */
        if ( i == coteCarre ) {
          xinc = 0;
          yinc = -1; }
  /* Si on arrive dans le coin inferieur droit,           */
  /* le deplacement se fait maintenant vers la gauche     */
        if ( i == coteCarre*2 ) {
          xinc = -1;
          yinc = 0; }
  /* Si on arrive dans le coin inferieur gauche,          */
  /* le deplacement se fait maintenant vers le haut       */
        if ( i == coteCarre*3 ) {
          xinc = 0;
          yinc = 1; } } }
    else {
  /* Affichage en cas de probleme avec les donnees        */
    Console.out.println("Erreur dans les donnees du probleme"); }
  }

  /* Fonction principale                                  */

  public static void main(String [] args) {
    Console.setTitle("Robot2");
  /* Lecture au clavier des largeurs du parcours          */
  /* et du damier                                         */
    Console.out.print("Cote du parcourt    : ");
    int c = Integer.valueOf(Console.in.readLine()).intValue();
    Console.out.print("Largeur du damier   : ");
    int l = Integer.valueOf(Console.in.readLine()).intValue();
  /* Lancement du parcours                                */
    parcourt(c,l);
  }
}