一个二进制字符串 $s$ 被称为是反对称的,当且仅当对于所有 $i \in [1, |s|]$,满足 $s[i] \neq s[|s| - i + 1]$。
Yuta 有 $n$ 个二进制字符串 $s_i$,他想知道有多少个长度为 $2L$ 的二进制反对称字符串,满足这些字符串包含所有给定的字符串 $s_i$ 作为其连续子串。请帮他计算这个数量。由于答案可能非常大,请输出其对 $998\,244\,353$ 取模的结果。
输入格式
第一行包含两个整数 $n$ 和 $L$ ($1 \le n \le 6, 1 \le L \le 100$)。
接下来 $n$ 行,每行包含一个字符串 $s_i$ ($1 \le |s_i| \le 20$),由字符 “0” 和 “1” 组成。
输出格式
输出一行,包含一个整数:答案对 $998\,244\,353$ 取模的结果。
样例
输入 1
2 2 011 001
输出 1
1
输入 2
2 3 011 001
输出 2
4
说明
在第二个样例中,满足所有限制条件的字符串为 “000111”、“001011”、“011001” 和 “100110”。