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$。