Time Limit: 1 s
Memory Limit: 32 MB

Submission：215
AC：62
Score：96.46

There are* N* soldiers standing in one line. They are marked from *1* to *N*, from right to left. And they are given a number *m*. Then the soldiers numbered off, straight from the right-hand man. The one who reported a number that is the multiple of m was kept in the line. Others have to leave the line. They continue doing this till the number of people in the line is less than *m*. For example, if there are *10* soldiers, and *m = 3*. For the first time the soldiers who are marked *3, 6, 9* remain in the line. For the second time the soldier who is marked* 9* remains in the line. Because the number of soldiers in the line is less than *m*, so the soldier marked* 9* was the only one to remain in the line.

Now we want to know who will be the ones to remain, can you tell us ?

There are several test cases in the input. Each test cases is only one line, contains two integers *n* and* m* (*3 <= n <= 10 ^{9}, 2 <= m <= n*). The input ends when

For each test case, output two lines. The first line contains one integer *x*, the number of soldiers to remain. The second line contains* x* integers, the numbers marked on the soldiers who remain in the line. You should output them in increasing order.

input

10 3
8 3
0 0

output

1
9
2
3 6