P0638

[JSOI2007]麻将

[JSOI2007]麻将

麻将是中国传统的娱乐工具之一。传统麻将牌可分为字牌与序数牌。字牌包括东、南、西、北、中、发、白共 77 种;序数牌分为条子、饼子、万子 33 种花色,每种花色均有序数为 11 至 99 的牌。

通常,一组和牌由 1414 张牌组成,其中 22 张完全相同的牌组成对子,其余 1212 张牌被分为 44 组,每组 33 张牌。每组牌必须是以下两种类型之一:

  • 顺子:33 张花色相同且序数连续的序数牌;
  • 刻子:33 张完全相同的牌。

一组听牌由 1313 张牌组成,且再加入某一张牌后可以构成和牌。加入的这张牌称为等待牌。

本题考虑一种特殊的麻将:没有字牌,且只有一种花色;牌的序数范围为 11 至 nn,每种牌的数量没有限制。

在这种麻将中,一组和牌由 3m+23m+2 张牌组成,其中 22 张完全相同的牌组成对子,其余 3m3m 张牌被分为 mm 组,每组均为顺子或刻子。

现给出一组包含 3m+13m+1 张牌的牌组,请判断它是否为听牌。若是,请输出所有可能的等待牌。

输入格式

输入共两行。

第一行包含两个以空格分隔的整数 nn 和 mm。

第二行包含 3m+13m+1 个以空格分隔的整数,表示牌组中每张牌的序数。

输出格式

输出一行。

如果给定牌组是听牌,按从小到大的顺序输出所有可能的等待牌序数,相邻序数之间用一个空格分隔。

如果给定牌组不是听牌,输出 NO。

样例输入

9 4
1 1 2 2 3 3 5 5 5 7 8 8 8

样例输出

6 7 9

数据范围

  • 9≤n≤4009\le n\le 400;
  • 4≤m≤10004\le m\le 1000;
  • 输入牌组包含 3m+13m+1 张牌;
  • 每张牌的序数均在 11 至 nn 的范围内。

来源与许可

本题为 JSOI 2007 试题「麻将」,题面与测试数据整理自 BZOJ 1028。

样例 1

输入

9 4
1 1 2 2 3 3 5 5 5 7 8 8 8

输出

6 7 9