1111. DNA 序列

DNA(脱氧核糖核酸)是含有遗传指令的分子。它由四个不同的核苷酸组成,即腺嘌呤,胸腺嘧啶,鸟嘌呤和胞嘧啶。如果我们以其初始字符表示核苷酸,则 DNA 链可以被认为是由四个字符 A,T,G,C 组成的长字符串(字符序列)。例如,假设我们被赋予由以下核苷酸序列组成的 DNA 链:

胸腺嘧啶-腺嘌呤-腺嘌呤-胞嘧啶-胸腺嘧啶-鸟嘌呤-胞嘧啶-胞嘧啶-鸟嘌呤-腺嘌呤-胸腺嘧啶

然后我们可以用 TAACTGCCGAT 字符串代表上述 DNA 链。

生物学家 Ahn 教授发现,基因 X 通常存在于五种不同种类动物(狗,猫,马,牛和猴子)的 DNA 链中。他还发现,每只动物的基因 X 的 DNA 序列非常相似。

Ahn 教授认为人类也可能具有 X 基因(指刻在 DNA 中的 X 基因),并决定在人类 DNA 中搜索 X 的 DNA 序列。然而,在搜索之前,他应该定义一个代表性的基因 X 的 DNA 序列,因为它的序列在五只动物的 DNA 中不完全相同。他决定用 Hamming 距离来定义代表性的序列。

Hamming 距离是两个相等长度的串的每个位置的不同字符的数量。例如,假设我们给出两个字符串 AGCATGGAAT。这两个字符串的 Hamming 距离是 2,因为两个字符串的第 1 和第 3 个字符不同。使用 Hamming 距离,我们可以定义一个一组具有相同长度的多个字符串的代表性字符串。给定一组字符串 S= \{s_1,...,s_m \},长度为 n 的字符串 y 与集合 S 之间的一致性误差是 y 与每个 s_i之间的 Hamming 距离之和。如果 yS 之间的一致性误差是所有可能的长度为 n 的字符串的一致性误差的最小值,字符串 y 被称为 S 的一致串。例如,给定三个字符串 AGCATAGACTGGAAT,给定字符串的一致串是AGAAT,因为 Hamming 距离之和在 AGAAT 和三个字符串之间是 3,这是最小的。在这种情况下,一致串是唯一的,但一般来说可以有多于一个的一致串。我们使用一致串作为 DNA 序列的代表。

不要什么都往 DNA 里刻啊喂!//半恼

输入

输入由 T \ (1 \leq T \leq 10) 个测试用例组成。

测试用例 T 的数量在输入的第一行给出。

每个测试用例从包含两个整数 mn 的行开始,这两个整数由单个空格分开。整数 m \ (4≤m≤50) 表示 DNA 序列的数量,n \ (4≤n≤1000) 分别表示 DNA 序列的长度。

在接下来的 m 行中,每行给出一个 DNA 序列。

输出

在每种情况的第一行打印一致串,并在每种情况的第二行打印一致性误差。

如果存在一个以上的一致串,打印字典序最小的一致串。

样例

标准输入 复制文本
3
5 8
TATGATAC
TAAGCTAC
AAAGATCC
TGAGATAC
TAAGATGT
4 10
ACGTACGTAC
CCGTACGTAG
GCGTACGTAT
TCGTACGTAA
6 10
ATGTTACCAT
AAGTTACGAT
AACAAAGCAA
AAGTTACCTT
AAGTTACCAA
TACTTACCAA
标准输出 复制文本
TAAGATAC
7
ACGTACGTAA
6
AAGTTACCAA
12
登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 131
通过 67