Georgiy Korneev (original idea), Andrew Stankevich (text)

Time limit:

2 sec

Input file:

irrelevant.in

Memory limit:

64 Mb

Output file:

irrelevant.out

Statement

Young cryptoanalyst Georgie is investigating different schemes
of generating random integer numbers ranging from 0 to m - 1.
He thinks that standard random number generators
are not good enough, so he has invented his own scheme that
is intended to bring more randomness into the generated numbers.

First, Georgie chooses n and generates n random integer numbers ranging
from 0 to m - 1.
Let the numbers generated be a_{1}, a_{2}, ..., a_{n}.
After that
Georgie calculates the sums of all pairs of adjacent numbers, and
replaces the initial array with the array of sums, thus
getting n-1 numbers:a_{1} + a_{2}, a_{2} + a_{3}, ..., a_{n - 1} + a_{n}.
Then he applies the same procedure to the new array,
getting n - 2 numbers. The procedure is repeated until only one
number is left. This number is then taken modulo m.
That gives the result of the generating procedure.

Georgie has proudly presented this scheme to his computer science
teacher, but was pointed out that the scheme has many
drawbacks. One important drawback is the fact that the result of the
procedure sometimes does not even depend on some of
the initially generated numbers.
For example, if n = 3 and m = 2, then the result does not
depend on a_{2}.

Now Georgie wants to investigate this phenomenon. He calls
the i-th element of the initial array irrelevant if
the result of the generating procedure does not depend on
a_{i}. He considers various n and m and wonders
which elements are irrelevant for these parameters. Help
him to find it out.

Input file format

Input file contains n and m.

Output file format

On the first line of the output file print the number of
irrelevant elements of the initial array for given n and m.
On the second line print all such i that i-th element
is irrelevant. Numbers on the second line must be printed
in the ascending order and must be separated by spaces.