#D2497. Vulnerable Kerbals

    ID: 2079 Type: Default 2000ms 256MiB

Vulnerable Kerbals

Vulnerable Kerbals

You are given an integer m, and a list of n distinct integers between 0 and m - 1.

You would like to construct a sequence satisfying the properties:

  • Each element is an integer between 0 and m - 1, inclusive.
  • All prefix products of the sequence modulo m are distinct.
  • No prefix product modulo m appears as an element of the input list.
  • The length of the sequence is maximized.

Construct any sequence satisfying the properties above.

Input

The first line of input contains two integers n and m (0 ≤ n < m ≤ 200 000) — the number of forbidden prefix products and the modulus.

If n is non-zero, the next line of input contains n distinct integers between 0 and m - 1, the forbidden prefix products. If n is zero, this line doesn't exist.

Output

On the first line, print the number k, denoting the length of your sequence.

On the second line, print k space separated integers, denoting your sequence.

Examples

Input

0 5

Output

5 1 2 4 3 0

Input

3 10 2 9 1

Output

6 3 9 2 9 8 0

Note

For the first case, the prefix products of this sequence modulo m are [1, 2, 3, 4, 0].

For the second case, the prefix products of this sequence modulo m are [3, 7, 4, 6, 8, 0].

inputFormat

input list.

  • The length of the sequence is maximized.

Construct any sequence satisfying the properties above.

Input

The first line of input contains two integers n and m (0 ≤ n < m ≤ 200 000) — the number of forbidden prefix products and the modulus.

If n is non-zero, the next line of input contains n distinct integers between 0 and m - 1, the forbidden prefix products. If n is zero, this line doesn't exist.

outputFormat

Output

On the first line, print the number k, denoting the length of your sequence.

On the second line, print k space separated integers, denoting your sequence.

Examples

Input

0 5

Output

5 1 2 4 3 0

Input

3 10 2 9 1

Output

6 3 9 2 9 8 0

Note

For the first case, the prefix products of this sequence modulo m are [1, 2, 3, 4, 0].

For the second case, the prefix products of this sequence modulo m are [3, 7, 4, 6, 8, 0].

样例

3 10
2 9 1
6

3 9 2 4 8 0

</p>