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

public class JosephusFlavius3EnConsole {

  public static int eliminationJosephusFlavius(int n,int k) {
    boolean [] mort = new boolean[n];
    for ( int i = 1 ; i < n ; i++ )
      mort[i] = false;
    int pos = 0;
    mort[pos] = true;
    Console.out.println("Mort de "+0);
    int morts = 1;
    int cpt = 0;
    while ( morts != n ) {
      pos = (pos+1)%n;
      if ( !mort[pos] ) {
        cpt++;
        if ( cpt == k ) {
          Console.out.println("Mort de "+pos);
          mort[pos] = true;
          morts++;
          cpt = 0; } } }
    return(pos);
  }

  /* Fonction principale                                  */

  public static void main(String [] args) {
    Console.setTitle("JosephusFlavius3");
  /* Lecture au clavier du nombre de soldats              */
    Console.out.print("Nombre de soldats : ");
    int n = Integer.valueOf(Console.in.readLine()).intValue();
  /* Lecture au clavier du nombre de soldats parcourus    */
  /* a chaque elimination                                 */
    Console.out.print("Taille des sauts  : ");
    int k = Integer.valueOf(Console.in.readLine()).intValue();
    Console.out.println("Le dernier soldat etait le numero "
                       +eliminationJosephusFlavius(n,k));
  }
}