Asterism (Easy Version)
Contest: Codeforces Round 654 (Div. 2)
Difficulty rating: 1900
Tags: binary search, brute force, combinatorics, math, number theory, sortings

This is the easy version of the problem. The difference between versions is the constraints on $$$n$$$ and $$$a_i$$$. You can make hacks only if all versions of the problem are solved.

First, Aoi came up with the following idea for the competitive programming problem:

Yuzu is a girl who collecting candies. Originally, she has $$$x$$$ candies. There are also $$$n$$$ enemies numbered with integers from $$$1$$$ to $$$n$$$. Enemy $$$i$$$ has $$$a_i$$$ candies.

Yuzu is going to determine a permutation $$$P$$$. A permutation is an array consisting of $$$n$$$ distinct integers from $$$1$$$ to $$$n$$$ in arbitrary order. For example, $$$\{2,3,1,5,4\}$$$ is a permutation, but $$$\{1,2,2\}$$$ is not a permutation ($$$2$$$ appears twice in the array) and $$$\{1,3,4\}$$$ is also not a permutation (because $$$n=3$$$ but there is the number $$$4$$$ in the array).

After that, she will do $$$n$$$ duels with the enemies with the following rules:

- If Yuzu has equal or more number of candies than enemy $$$P_i$$$, she wins the duel and gets $$$1$$$ candy. Otherwise, she loses the duel and gets nothing.
- The candy which Yuzu gets will be used in the next duels.

Yuzu wants to win all duels. How many valid permutations $$$P$$$ exist?

This problem was easy and wasn't interesting for Akari, who is a friend of Aoi. And Akari made the following problem from the above idea:

Let's define $$$f(x)$$$ as the number of valid permutations for the integer $$$x$$$.

You are given $$$n$$$, $$$a$$$ and a prime number $$$p \le n$$$. Let's call a positive integer $$$x$$$ good, if the value $$$f(x)$$$ is not divisible by $$$p$$$. Find all good integers $$$x$$$.

Your task is to solve this problem made by Akari.

Input format:
The first line contains two integers $$$n$$$, $$$p$$$ $$$(2 \le p \le n \le 2000)$$$. It is guaranteed, that the number $$$p$$$ is prime (it has exactly two divisors $$$1$$$ and $$$p$$$).

The second line contains $$$n$$$ integers $$$a_1, a_2, \ldots, a_n$$$ $$$(1 \le a_i \le 2000)$$$.

Output format:
In the first line, print the number of good integers $$$x$$$.

In the second line, output all good integers $$$x$$$ in the ascending order.

It is guaranteed that the number of good integers $$$x$$$ does not exceed $$$10^5$$$.

Constraints:
Time limit: 1.0 s
Memory limit: 256.0 MB

Note:
In the first test, $$$p=2$$$.

- If $$$x \le 2$$$, there are no valid permutations for Yuzu. So $$$f(x)=0$$$ for all $$$x \le 2$$$. The number $$$0$$$ is divisible by $$$2$$$, so all integers $$$x \leq 2$$$ are not good.
- If $$$x = 3$$$, $$$\{1,2,3\}$$$ is the only valid permutation for Yuzu. So $$$f(3)=1$$$, so the number $$$3$$$ is good.
- If $$$x = 4$$$, $$$\{1,2,3\} , \{1,3,2\} , \{2,1,3\} , \{2,3,1\}$$$ are all valid permutations for Yuzu. So $$$f(4)=4$$$, so the number $$$4$$$ is not good.
- If $$$x \ge 5$$$, all $$$6$$$ permutations are valid for Yuzu. So $$$f(x)=6$$$ for all $$$x \ge 5$$$, so all integers $$$x \ge 5$$$ are not good.

So, the only good number is $$$3$$$.

In the third test, for all positive integers $$$x$$$ the value $$$f(x)$$$ is divisible by $$$p = 3$$$.

Example input:
3 2
3 4 5

Example output:
1
3

Example input:
4 3
2 3 5 6

Example output:
2
3 4

Editorial:
Let's define $$$m = max(a_1,a_2,...,a_n)$$$.
Yuzu should have at least $$$m-n+1$$$ candies initially to win all duels, then $$$f(x)=0$$$ for $$$x < m-n+1$$$. This is divisible by $$$p$$$.
And if Yuzu have equal or more than $$$m$$$ candies initially, any permutation will be valid, then $$$f(x)=n!$$$ for $$$x \ge m$$$. This is divisible by $$$p$$$ , too. (because $$$p \le n$$$)
Then, in this subtask, you should find whether each $$$f(x)$$$ are divisible by $$$p$$$ for $$$m-n+1 \le x < m$$$ in $$$O(n)$$$.
You can find the value of $$$f(x)$$$ by following simulation:
• First, let $$$v$$$={the number of enemies they have strictly less than $$$x$$$ candies}, $$$ans=1$$$.
• Then do the following steps for $$$i=x,x+1,...,x+(n-1)$$$.
• $$$v = v$$$ + {the number of enemies they have exactly $$$i$$$ candies}
• $$$ans = ans * v$$$
• $$$v = v - 1$$$
Now, $$$p$$$ is a prime. Then, "Whether $$$f(x)$$$ is divisible by $$$p$$$" is "Whether $$$p$$$ was multiplied to $$$ans$$$ as $$$v$$$ at least once."
This can be simulated in $$$O(n)$$$ time for each $$$x$$$.
Total complexity : $$$O(n^2)$$$