P1820 麻将 加强加强版
题目背景
此题为 [P4050](/problem/P4050) 与 [P6454](/problem/P6454) 的加强版。
小 A 喜欢打麻将。
题目描述
小 A 找到了一副奇怪的麻将牌:只有一种 $1,2,\cdots,n$ 的数牌,且每种牌都有**无穷多张**。
定义「雀头」为两张一样的牌(如 $2,2$,$7,7$),「刻子」为三张一样的牌(如 $1,1,1$,$4,4,4$),「顺子」为三张序数相邻的牌(如 $1,2,3$,$9,10,11$,注意 $1$ 与 $n$ 不相邻)。「顺子」与「刻子」统称「面子」。
假如你能把你的手牌分为若干组「面子」(**可以相同**)以及一组「雀头」,那么你就可以「和牌」。
假如某副手牌加上某张牌后可以「和牌」,则称这副手牌「听」这张牌。
现在小 A 随意摸了 $k$ 张牌,他想知道他「听」哪些牌。
输入格式
第一行两个正整数 $n,k$,分别表示牌的范围和小 A 手上牌的张数。
接下来一行 $k$ 个整数 $a_1,a_2,\cdots,a_k$ 给出小 A 的手牌,每个数表示小 Z 手上的一张牌。
输出格式
第一行若干个正整数,表示小 A「听」哪些牌。**请按照升序输出。**
特殊地,如果小 A 不「听」任何牌,请输出 `QAQ`。
说明/提示
#### 【样例解释】
- 样例一解释:两种情况,`11/234` 与 `123/44`。
- 样例二解释:此牌型为「纯正九莲宝灯」,可以「听」所有数牌。
#### 【数据范围】
**本题采用捆绑测试。**
- Subtask 1(10 pts):$1\leq k\leq 16$。
- Subtask 2(10 pts):$1\leq k\leq 400$。
- Subtask 3(30 pts):$1\leq k\leq 10^3$。
- Subtask 4(30 pts):$1\leq k\leq 3\times10^4$。
- Subtask 5(20 pts):无特殊限制。
对于所有数据,$1\leq a_i\leq n\leq k\leq 2\times10^5$。