[find out the lucky position to survive]-will you help me please !

**This problem is a game where n objects are arranged in a circle and every mth object is deleted until 1 object is left.**

The original problem is said to derive from a suicide pact among 41 rebels trapped by the Romans in the first century. The rebels decided to kill every third person until one is left and can escape in a boat that can take only one person. Josephus, the historian who lived to tell the story quickly figured out where he should position himself from the starting point in the circle so that he would survive.

Suppose you were in that situation with the only difference that you have your palm PC to quickly find out the lucky position to survive. Your program should be able to handle the following situation:

n people (n > 0 ) are initially arranged in a circle, facing inwards, and numbered from 1 to n. The numbering from 1 to n proceeds consecutively in a clockwise direction.

Starting with person number 1, counting continues in a clockwise direction, until we get to person number k (k > 0), who is promptly killed.

Counting then proceeds from the person to his immediate left, to kill the kth person, and so on, until only one person remains.

For example, when n = 5 and k = 2, the order of execution is 2, 4, 1, and 5. The survivor is 3.

Hint you have to implement the circular list for your program to be efficient."how that could be !"

Input

Input data is to be read from a file roulette.in. Each line in this file contains values for n and k (in that order). A line containing values of 0 for n and k will terminate input. Your program does know not the maximum number of people taking part in this tragic event.

Output

For each input line, output in a file roulette.out the position of the sole survivor.

Sample Input

1 1

1 5

8 3

0 0

Sample Output

1

1

7

- to be serious with you i did not understand this question very well !!

what am thinking about it now is the algorithm how they got from the 2 rows

1 , 1 , 7 ! .. the example which given has no thing to understand !

i have to understand this method"by words not by coding" to go ahead .. .. do not misunderstand me , i do not want someone to

solve my assignment .. i want some one to be just as a supervisor . :)

what am planed to do for now :

read file.

arranged in some how way in the circular LL

used method which return to me after removing the survivor person.

i thought that maybe i can used recursion .. i dunno why it seem to me just like binary search