Canadian Computing Competition: 2014 Stage 1, Junior #4, Senior #1
You are hosting a party and do not have room to invite all of your friends. You use the following unemotional mathematical method to determine which friends to invite.
Number your friends and place them in a list in this order. Then perform rounds. In each round, use a number to determine which friends to remove from the ordered list.
The rounds will use numbers . In round remove all the remaining people in positions that are multiples of (that is, ) The beginning of the list is position .
Output the numbers of the friends that remain after this removal process.
The first line of input contains the integer . The second line of input contains the integer , which is the number of rounds of removal. The next lines each contain one integer. The of these lines contains indicating that every person at a position which is multiple of should be removed.
The output is the integers assigned to friends who were not removed. One integer is printed per line in increasing sorted order.
Output for Sample Input
Explanation of Output for Sample Input
Initially, our list of invitees is . There will be two rounds of removals. After the first round of removals, we remove the even positions (i.e., every second position), which causes our list of invitees to be . After the second round of removals, we remove every 3rd remaining invitee: thus, we keep and , remove and keep and , which leaves us with an invitee list of .